Centos
如何自定義在 CentOS 6 上使用 gnome 桌面啟動的預設應用程序集。*
背景我們執行一系列 CentOS 6.5 伺服器,每個伺服器託管多個使用者(約 100 名)通過 X-Window XDMP 從他們的 MS Windows 桌面進入。這些使用者不需要啟動的預設應用程序主機,如脈衝、音量控制、vino、polkit 等。因此我們希望自定義啟動的預設應用程序集。但是,我們會在這些機器上進行例行的yum 更新,並且不希望我們的自定義被覆蓋。Yum/rpm 包含一些用於保留對指定配置文件的更改的規定。
問題我們可以通過 1) 刪除或 2) 在 /etc/xdg/autostart/ 中的適當 .desktop 文件中插入“Hidden=true”行來自定義啟動的應用程序集,但是,其中一些 .desktop 文件不是在安裝它們的 RPM 包中指定為配置文件(例如 gnome-media、polkit-gnome、policycoreutils、vino)。這意味著如果更新軟體包,這些文件可能會被 yum 更新操作覆蓋。
**建議的解決方案 (1)**蠻力:編寫一個 yum-update 後腳本,該腳本會重新執行我們所做的更改。要麼手動執行它,要麼可以自定義 yum 以自動執行它。
**建議的解決方案 (2)**微妙但冒險:創建我們自己的自定義 RPM 包,以安裝帶有更改的文件。然後強制安裝此 RPM。以後想要更改文件的 RPM 更新將因衝突而停止。這將中斷日常的 yum 更新,我們將按照手動程序來保存/恢復定制。
非常歡迎替代解決方案、想法和批評!謝謝。
這是我為蠻力方法#1提出的腳本:
#!/bin/bash filelist1='at-spi-registryd.desktop bluetooth-applet.desktop gdu-notification-daemon.desktop gnome-at-session.desktop gnome-keyring-daemon.desktop gnome-screensaver.desktop gnome-user-share.desktop gnome-volume-control-applet.desktop gpk-update-icon.desktop nm-applet.desktop polkit-gnome-authentication-agent-1.desktop pulseaudio.desktop restorecond.desktop seahorse-daemon.desktop spice-vdagent.desktop user-dirs-update-gtk.desktop vino-server.desktop' if [ ! -d /etc/xdg/autostart ]; then echo "The assumptions of this script are flawed. Aborting" echo "Directory /etc/xdg/autostart does not exist." exit fi cd /etc/xdg/autostart mkdir -p save for f in $filelist1;do if [ -f $f ]; then mv $f save; else echo "/etc/xdg/autostart/$f not found"; fi done if [ ! -f /usr/share/gnome/autostart/libcanberra-login-sound.desktop ]; then echo "The assumptions of this script are flawed. Aborting" echo "The file /usr/share/gnome/autostart/libcanberra-login-sound.desktop does not exist." exit fi cd /usr/share/gnome/autostart mkdir -p save mv libcanberra-login-sound.desktop save if [ ! -f /usr/share/gnome/shutdown/libcanberra-logout-sound.sh ]; then echo "The assumptions of this script are flawed. Aborting" echo "The file /usr/share/gnome/shutdown/libcanberra-logout-sound.sh does not exist." exit fi cd /usr/share/gnome/shutdown mkdir -p save mv libcanberra-logout-sound.sh save