Jak vytvořím soubor automatického spuštění pro celý systém? To by bylo na cloudovém serveru s desktopovou verzí Maverick.
Přihlásil jsem se jako root a vytvořil jsem soubor automatického spuštění pomocí System/Preferences/StartupApplications
ale skončilo to v /root/.config/autostart
a nespustil se (pokud mohu říci) po restartu. Soubor automatického spuštění má vyvolat bash skript, který vyvolá server VNC.
Zkopíroval jsem soubor automatického spuštění .desktop z /root/.config/autostart
do /etc/xdg/autostart
a restartován. Nezdálo se, že by to znamenalo rozdíl.
Upravit Jak je zmíněno v komentáři, cílem je spustit můj bash skript, který spustí VNC server při startu; ne po přihlášení.
Nejlepší odpověď
-
Nejprve nainstalujte server TightVNC
sudo apt-get install tightvncserver
. -
Nastavte VNC server pro uživatele, pod kterým se chcete přihlásit. Když spustíte „vncserver“ poprvé, požádá vás o nastavení hesla. povolit pouze tunelovaná připojení SSH nebo VPN. Chcete-li spustit programy nebo relaci při spuštění relace VNC, upravte
~/.vnc/xstartup
. Zde je příklad.#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session &
-
Zkopírujte následující do
/etc/init.d/vncserver
. Nejjednodušší způsob, jak to udělat, je zkopírovat do schránky, spustitsudo -i && cat > /etc/init.d/vncserver && exit
v terminálu, vložte jej a zadejte CTRL-D. Nezapomeňte změnit proměnnou USER na libovolného uživatele, pod kterým má VNC server běžet.#!/bin/sh -e ### BEGIN INIT INFO # Provides: vncserver # Required-Start: networking # Default-Start: 3 4 5 # Default-Stop: 0 6 ### END INIT INFO PATH="$PATH:/usr/X11R6/bin/" # The Username:Group that will run VNC export USER="mythtv" #${RUNAS} # The display that VNC will use DISPLAY="1" # Color depth (between 8 and 32) DEPTH="16" # The Desktop geometry to use. #GEOMETRY="<WIDTH>x<HEIGHT>" #GEOMETRY="800x600" GEOMETRY="1024x768" #GEOMETRY="1280x1024" # The name that the VNC Desktop will have. NAME="my-vnc-server" OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}" . /lib/lsb/init-functions case "$1" in start) log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}" su ${USER} -c "/usr/bin/vncserver ${OPTIONS}" ;; stop) log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}" su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}" ;; restart) $0 stop $0 start ;; esac exit 0
-
Udělejte skript spustitelný pomocí
sudo chmod +x /etc/init.d/vncserver
. - Nakonec se připojte k serveru pomocí klienta VNC na portu 590X, kde X je hodnota „DISPLAY“ ve skriptu vncserver. Na OS X rád používám Chicken of the VNC. Ve Windows a Linuxu klient TightVNC funguje dobře.
Zdroj