Come faccio a creare un file di avvio automatico a livello di sistema? Questo sarebbe su un server cloud che esegue la versione desktop di Maverick.
Ho effettuato l'accesso come root e ho creato un file di avvio automatico utilizzando System/Preferences/StartupApplications
ma è finito in /root/.config/autostart
e non è stato eseguito (per quanto ne so) al riavvio. Il file di avvio automatico serve per invocare uno script bash che richiama il server VNC.
Ho copiato il file di avvio automatico .desktop da /root/.config/autostart
su /etc/xdg/autostart
e riavviato. Questo non sembrava fare la differenza.
Modifica Come accennato in un commento, l'obiettivo è eseguire il mio script bash che avvia il server VNC all'avvio; non su un accesso.
Migliore risposta
-
Innanzitutto, installa il server TightVNC
sudo apt-get install tightvncserver
. -
Configura il server VNC per l'utente con cui desideri accedere. Quando esegui "vncserver" per la prima volta, ti verrà chiesto di impostare una password. consentire solo connessioni tramite tunnel SSH o VPN. Per avviare programmi o una sessione all'avvio della sessione VNC, modificare
~/.vnc/xstartup
. Ecco un esempio.#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session &
-
Copia quanto segue in
/etc/init.d/vncserver
. Il modo più semplice per farlo è copiarlo negli appunti, eseguiresudo -i && cat > /etc/init.d/vncserver && exit
in un terminale, incollalo e digita CTRL-D. Assicurati di modificare la variabile USER in qualsiasi utente con cui desideri eseguire il server VNC.#!/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
-
Rendi lo script eseguibile con
sudo chmod +x /etc/init.d/vncserver
. - Infine, connettiti al tuo server con un client VNC sulla porta 590X, dove X è il valore di "DISPLAY" nello script vncserver. Su OS X, mi piace usare Chicken of the VNC. Su Windows e Linux, il client TightVNC funziona bene.
Fonte