![X初始化时运行脚本一次](https://linux22.com/image/23269/X%E5%88%9D%E5%A7%8B%E5%8C%96%E6%97%B6%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E4%B8%80%E6%AC%A1.png)
如果我希望 bash 脚本在 X 启动期间作为系统启动的一部分执行一次,我应该将它放在哪里。例如,我想在 X 启动后以 root 用户身份在我的计算机上启动 VPN。
当 X 初始化时(在我的例子中假设为 GDM)或当用户使用 DM(桌面管理器)登录时,它是否被视为登录 shell?
另外,我想只要使用 X 登录就可以运行程序。例如,只要使用 Gnome 登录,我就想运行 Dropbox。
答案1
当用户登录 X 会话时您想要运行的任何内容,您都希望将.xinitrc
或.xsession
文件放入用户的$HOME
.
这个页面有一个很好的解释:
http://fluxbox.sourceforge.net/docbook/en/html/app-setup.html
答案2
你应该把它们放进去.xinitrc
。这是我的 :
#!/bin/zsh
#Map Capslock to ESC
setxkbmap -option caps:escape &
#Wallpaper
feh --bg-scale /mnt/data/Dropbox/pic/character/samurai.png
#turn off beep sound
xset -b
#mouse speed
xset m 1/5
#keyboard repeat speed
xset r rate 200 30
#font
xset +fp /usr/share/fonts/local
xset fp rehash
#urxvtd daemon
urxvtd -q -f -o &
#Disable touchpad tapping and scrolling when typing
syndaemon -t -i 2 &
#Hide cursor
unclutter -keystroke &
#Redshift - change your screen temp to reduce eyestrain
redshift &
# Dropbox
dropboxd &
#dwm status
while true
do
xsetroot -name "nXqd"
sleep 20s
done &
#Window manager
exec dwm