Comment créer un fichier de démarrage automatique à l'échelle du système ? Ce serait sur un serveur cloud exécutant la version de bureau de Maverick.
Je me suis connecté en tant que root et j'ai créé un fichier de démarrage automatique à l'aide de System/Preferences/StartupApplications
mais il s'est retrouvé dans /root/.config/autostart
et ne s'est pas exécuté (pour autant que je sache) lors du redémarrage. Le fichier de démarrage automatique doit invoquer un script bash qui invoque le serveur VNC.
J'ai copié le fichier de démarrage automatique .desktop depuis /root/.config/autostart
vers /etc/xdg/autostart
et redémarré. Cela n'a pas semblé faire de différence.
Modifier Comme mentionné dans un commentaire, l'objectif est d'exécuter mon script bash qui démarre le serveur VNC au démarrage; pas lors d'une connexion.
Meilleure réponse
-
Tout d'abord, installez le serveur TightVNC
sudo apt-get install tightvncserver
. -
Configurez le serveur VNC pour l'utilisateur sous lequel vous souhaitez vous connecter. Lorsque vous exécutez "vncserver" pour la première fois, il vous demandera de définir un mot de passe. n'autoriser que les connexions par tunnel SSH ou VPN. Pour lancer des programmes ou une session au démarrage de votre session VNC, modifiez
~/.vnc/xstartup
. Voici un exemple.#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session &
-
Copiez ce qui suit dans
/etc/init.d/vncserver
. La façon la plus simple de le faire est de le copier dans votre presse-papiers, exécutezsudo -i && cat > /etc/init.d/vncserver && exit
dans un terminal, collez-le et tapez CTRL-D. Assurez-vous de remplacer la variable USER par l'utilisateur sous lequel vous souhaitez que le serveur VNC s'exécute.#!/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
-
Rendre le script exécutable avec
sudo chmod +x /etc/init.d/vncserver
. - Enfin, connectez-vous à votre serveur avec un client VNC sur le port 590X, où X est la valeur de "DISPLAY" dans le script vncserver. Sur OS X, j'aime utiliser Chicken of the VNC. Sous Windows et Linux, le client TightVNC fonctionne bien.
Source