Ich versuche, x11vnc beim Start mit openSuse zum Laufen zu bringen, aber ohne viel Erfolg. Hier ist, was ich bisher gemacht habe.
Ich habe /etc/X11/xdm/Xsetup
die folgenden Zeilen bearbeitet und am Ende, direkt davor, hinzugefügt exit 0
:
#run x11vnc automatically
/usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg
Ich habe die Datei „/usr/bin/vnc/passwd“ mit folgendem erstellt:
sudo x11vnc -storepasswd /usr/bin/vnc/passwd
Wenn ich neu starte, mache ich ein ps -A | grep x11
und sehe nicht, dass der Prozess läuft. Ich sehe auch, dass keine /var/log/x11vnc.log
Datei erstellt wurde. Ich kann den Befehl aus dem Bash-Verzeichnis ausführen und es funktioniert einwandfrei. Ich habe das Gefühl, dass dieses Skript beim Start nie ausgeführt wird.
Ich habe außerdem eine neue Datei mit dem Namen erstellt /etc/kde4/kdm/Xsetup
und die beiden Zeilen von oben dort eingefügt. Das Verhalten war dasselbe.
Die Dateiberechtigungen sind:
-rw------- 1 root root 8 Apr 26 22:26 /usr/bin/vnc/passwd
-rwxr-xr-x 1 root root 5691 Apr 26 22:01 /etc/X11/xdm/Xsetup
Irgendwelche Ideen?
AKTUALISIEREN
Ich habe sogar versucht, einfach zu echoenHallo Weltin eine Textdatei, in Xsetup
der auch nichts passiert. Es scheint, dass dieses Skript beim Booten einfach nicht ausgeführt wird.
UPDATE 2:
Ich habe auf 12.1 aktualisiert, aber keiner meiner Versuche hat funktioniert.
Antwort1
Folgendes habe ich gefunden; beides sollte funktionieren:
So beheben Sie x11vnc:
Geben Sie diese Befehle in einer Konsole wie folgt ein user
:
mkdir ~/.vnc
x11vnc -storepasswd "password" ~/.vnc/passwd
Fügen Sie dies in die Datei ~/.x11vncrc ein und ersetzen Sie es user
durch Ihren Benutzernamen:
display :0
rfbauth /home/user/.vnc/passwd
forever
bg
So starten Sie es jetzt bei jeder user
Anmeldung automatisch:
ln -s /usr/bin/x11vnc ~/.kde/Autostart/x11vnc
Führen Sie nun einen Neustart bzw. eine Neustart der Desktop-Sitzung durch.
(Quelle)
YaST:
Wählen Sie auf dem KDE-Desktop das YaST-Symbol aus, geben Sie das Root-Passwort ein und wählen Sie OK. Wählen Sie dannNetzwerkdienste > Remoteverwaltung.
Wählen Sie „Remoteverwaltung zulassen“ und anschließend „Fertig stellen“ aus.
(Quelle)
Antwort2
/etc/X11/xdm/Xsetup
Zum ursprünglichen Zustand zurückkehren (Ihre Änderungen entfernen). Dies wird beim Systemstart nicht aufgerufen .
/usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg
Fügen Sie der Datei Ihre Startzeile hinzu /etc/init.d/after.local
.
Sofern Sie keine Konformität schreiben möchten init script
, die den Prozess startet/stoppt/neu startet x11vnc
(was möglich ist, aber über den Rahmen dieser Antwort hinausgeht), sollten Sie alle Prozesse, die Sie beim Booten ausführen möchten, in platzieren /etc/init.d/after.local
.
Hinweis: Auf RedHat-Systemen würde dies in gehen rc.local
. SUSE verwendet before.local
(vor den Init-Skripten ausführen) und after.local
(nach den Init-Skripten ausführen).
Antwort3
Ich habe keine SuSE 11-Installation vor mir, die ich überprüfen könnte.
Uther ist auf dem richtigen Weg – aber Sie müssen das Programm starten, NACHDEM X11 gestartet wurde.
Ich weiß nicht genau, ob es FUNKTIONIEREN KANN, wenn nur X ausgeführt wird. Möchten Sie, dass es ausgeführt wird, wenn sich beispielsweise ein „Gast“ über den X-Window-Anmeldebildschirm anmeldet?
Mit 12 ändert SuSE sämtliche Startskript-Sachen, daher möchten Sie vielleicht einfach ein Upgrade durchführen und das Problem dann auf 12 beheben:
http://news.opensuse.org/2011/12/22/systemd-%E2%80%93-boot-faster-and-cleaner-with-opensuse-12-1/
Als allgemeines Ziel sollten Sie herausfinden, was tatsächlich als Ihr "Anmeldebildschirm" unter X läuft (wahrscheinlich gdm -http://projects.gnome.org/gdm/) und wie das gestartet wurde. Wo auch immer es ausgeführt wird, Sie sollten Ihr x11vnc entweder direkt davor oder direkt danach ausführen.