Linux中國
如何在 X 中啟動用戶軟體
目前有很多方法可以在開啟用戶會話時啟動軟體。
這是一篇試圖將所有方法聚集在一起的文章。某些部分可能不精確或不正確,但這是一個開始,如果我收到更正,我很樂意保持更新。
x11-common
man xsession
- 由顯示管理器啟動,如
/usr/share/lightdm/lightdm.conf.d/01_debian.conf
或/etc/gdm3/Xsession
。 - Debian 特定。
- 在
/etc/X11/Xsession.d/
中運行腳本。 /etc/X11/Xsession.d/40x11-common_xsessionrc
引用~/.xsessionrc
,它能比設置環境變數能做的多一點,因為它在 X 會話啟動時運行。- 最後,它啟動會話管理器(
gnome-session
、xfce4-session
等等)。
systemd --user
- https://wiki.archlinux.org/index.php/Systemd/User
- 由
pam_systemd
啟動,所以在環境變數中可能沒有設置DISPLAY
變數。 - 管理單元:
/usr/lib/systemd/user/
由已安裝的軟體包提供的單元。~/.local/share/systemd/user/
由安裝在家目錄的軟體包提供的單元。/etc/systemd/user/
由系統管理員提供的系統範圍的用戶的單元。~/.config/systemd/user/
,用戶自己放置的單元。
- 當設置 X 會話和
DISPLAY
變數時,啟動 systemd 用戶單元的技巧是從.desktop
自啟動文件調用systemctl start
。
dbus 激活
- https://dbus.freedesktop.org/doc/system-activation.txt
- 進行 dbus 請求的用戶進程可以觸發啟動伺服器程序。
- 對於系統調試,有沒有一種方法可以監控哪些服務正在啟動 dbus ?
X 會話管理器
- https://en.wikipedia.org/wiki/X_session_manager
- 由
x11-common
的Xsession.d
運行。 - 運行 freedesktop 自動啟動的
.desktop
文件。 - 運行桌面環境特定的軟體。
xdg 自動啟動
- https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html
- 由會話管理器運行。
- 如果存在
/etc/xdg/autostart/foo.desktop
和~/.config/autostart/foo.desktop
,那麼只會使用~/.config/autostart/foo.desktop
,因為~/.config/autostart/
比/etc/xdg/autostart/
更重要。 - 是順序的還是並行?
其他啟動注意事項
~/.Xauthority
要連接到 X 伺服器,客戶端需要從 ~/.Xauthority
發送一個令牌,這證明他們可以讀取用戶的隱私數據。
~/.Xauthority
包含顯示管理器生成的一個令牌,並在啟動時傳遞給 X。
要查看它的內容,請使用 xauth -i -f ~/.Xauthority list
。
via: http://www.enricozini.org/blog/2018/debian/starting-user-software/
作者:Enrico Zini 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!