Wie erstelle ich eine systemweite Autostart-Datei? Dies wäre auf einem Cloud-Server, auf dem die Desktop-Version von Maverick ausgeführt wird.
Ich habe mich als root angemeldet und mit System/Preferences/StartupApplications
eine Autostart-Datei erstellt aber es landete in /root/.config/autostart
und wurde (soweit ich das beurteilen kann) beim Neustart nicht ausgeführt. Die Autostart-Datei soll ein Bash-Skript aufrufen, das den VNC-Server aufruft.
Ich habe die .desktop-Autostart-Datei von /root/.config/autostart
kopiert nach /etc/xdg/autostart
und neu gestartet. Dies schien keinen Unterschied zu machen.
Bearbeiten Wie in einem Kommentar erwähnt, besteht das Ziel darin, mein Bash-Skript auszuführen, das den VNC-Server beim Booten startet. nicht bei einer Anmeldung.
Beste Antwort
-
Installieren Sie zuerst den TightVNC-Server
sudo apt-get install tightvncserver
. -
Richten Sie den VNC-Server für den Benutzer ein, als den Sie sich anmelden möchten. Wenn Sie „vncserver“ zum ersten Mal ausführen, werden Sie aufgefordert, ein Passwort festzulegen. nur SSH-getunnelte oder VPN-Verbindungen zulassen. Um Programme oder eine Sitzung beim Start Ihrer VNC-Sitzung zu starten, ändern Sie
~/.vnc/xstartup
. Hier ist ein Beispiel.#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session &
-
Kopieren Sie Folgendes in
/etc/init.d/vncserver
. Am einfachsten kopieren Sie es in Ihre Zwischenablage und führensudo -i && cat > /etc/init.d/vncserver && exit
aus in einem Terminal, fügen Sie es ein und geben Sie STRG-D ein. Stellen Sie sicher, dass Sie die USER-Variable auf den Benutzer ändern, unter dem der VNC-Server ausgeführt werden soll.#!/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
-
Machen Sie das Skript mit
sudo chmod +x /etc/init.d/vncserver
ausführbar . - Verbinden Sie sich schließlich mit einem VNC-Client auf Port 590X mit Ihrem Server, wobei X der Wert von „DISPLAY“ im vncserver-Skript ist. Unter OS X verwende ich gerne Chicken of the VNC. Unter Windows und Linux funktioniert der TightVNC-Client gut.
Quelle