Jak uruchomić x11vnc podczas uruchamiania na openSuSE 12.1

2

Próbuję uruchomić x11vnc przy starcie z openSuse, ale nie mam dużo szczęścia. Oto co zrobiłem do tej pory.

Zmontowałem /etc/X11/xdm/Xsetup i dodałem następujące wiersze na końcu, tuż przed exit 0:

#run x11vnc automatically
/usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg

Stworzyłem plik `/ usr / bin / vnc / passwd przy użyciu:

sudo x11vnc -storepasswd /usr/bin/vnc/passwd

Po ponownym uruchomieniu robię ps -A | grep x11 i nie widzę, jak działa proces. Widzę też nie /var/log/x11vnc.log plik utworzony. Mogę uruchomić polecenie z katalogu bash i działa dobrze. Mam wrażenie, że ten skrypt nigdy nie jest uruchamiany przy starcie.

Stworzyłem także nowy plik o nazwie /etc/kde4/kdm/Xsetup i umieść tam dwie linie od góry i to samo zachowanie.

Uprawnienia do plików to:

-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

Jakieś pomysły?

AKTUALIZACJA

Próbowałem nawet echa Witaj świecie do pliku tekstowego w Xsetup co również nic nie robi. Wygląda na to, że skrypt nie uruchamia się po uruchomieniu.

AKTUALIZACJA 2:

Zaktualizowałem do 12.1, jednak żadna z moich prób nie zadziałała.

Mike Christensen
źródło
mam kilka pytań, jeśli nie masz nic przeciwko: 1. jakiego menedżera wyświetlania używasz (KDM lub GDM) 2. czy jest jakiś szczególny powód, aby preferować x11vnc nad domyślnym serwerem vnc twojej dystrybucji 3. najlepiej wiem, vnc zezwala aby udostępnić pulpit po zalogowaniu, a nie sama sesja logowania, wystarczy, że ... dzięki ...
user1055604
@ user1055604 - 1) Używam KDE. 2) Nie, x11vnc jest tylko pierwszym, który sprawdziłem, jak zainstalować i zacząć działać, ale jestem w porządku z każdym serwerem VNC naprawdę i 3) Tak, automatyczne uruchamianie po zalogowaniu jest również w porządku.
Mike Christensen
dzięki ... sprawdź mój post ... mam nadzieję, że to rozwiąże twój problem ...
user1055604

Odpowiedzi:

2

Oto, co mogłem znaleźć, albo powinno działać:


Aby naprawić x11vnc:

Wprowadź te polecenia na konsoli jako user:

mkdir ~/.vnc
x11vnc -storepasswd "password" ~/.vnc/passwd

Umieść to w zastępującym pliku ~ / .x11vncrc user z twoją nazwą użytkownika:

display :0
rfbauth /home/user/.vnc/passwd
forever
bg

Teraz automatycznie uruchom go za każdym razem user loguje się:

ln -s /usr/bin/x11vnc ~/.kde/Autostart/x11vnc

Teraz uruchom ponownie lub uruchom ponownie sesję pulpitu.

( src )


YaST:

Z pulpitu KDE wybierz ikonę YaST, wprowadź hasło roota i wybierz OK; następnie wybierz Usługi sieciowe & gt; Administracja zdalna .

Wybierz opcję Zezwalaj na administrację zdalną; następnie wybierz Zakończ

( src )

user1055604
źródło
To wygląda obiecująco, spróbuję tego później!
Mike Christensen
Próbowałem obu, ani pracy .. Zauważyłem Autostart nie istniał, więc stworzyłem go pierwszy. Ale x11vnc nie uruchamia się podczas logowania. Allow Remote Administration był już cały czas, jednak nie ma to żadnego skutku. Nadal nie mogę VNC w polu. Dzięki za próbę!
Mike Christensen
Ok, nie mam pojęcia, dlaczego to nie działa, wszyscy lekarze mówią, że tak. Jednakże .x11vncrc plik wydawał się bardzo pomóc. Znalazłem metodę polegającą na utworzeniu pliku w ~/.config/autostart co w końcu działa w połączeniu z pierwszym krokiem. Myślę, że ta odpowiedź jest prawdopodobnie najlepsza z całej grupy. Dzięki!
Mike Christensen
.config/autostart to nowe miejsce, w którym zarówno KDE, jak i Gnome szukają swoich plików autostartu w .desktop format ... src, z którego korzystałem, był naprawdę stary ... dobrze wiedzieć, że się udało ...
user1055604
3

Odwracać /etc/X11/xdm/Xsetup powrót do pierwotnego stanu (usuń zmiany). Nie jest to wywoływane podczas rozruchu systemu.

Dodaj swoją linię startową /usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg do pliku /etc/init.d/after.local.

Chyba że chcesz napisać zgodny init script uruchamia / zatrzymuje / uruchamia ponownie x11vnc proces (co jest możliwe, ale poza zakresem tej odpowiedzi), powinieneś umieścić wszystkie procesy, które chcesz wykonać podczas uruchamiania /etc/init.d/after.local.

Uwaga: w systemach RedHat będzie to możliwe rc.local. SUSE używa before.local (wykonaj przed skryptami inicjującymi) i after.local (wykonuje się po skryptach inicjujących).

George M
źródło
Spowoduje to uruchomienie go podczas uruchamiania systemu, a nie po uruchomieniu KDE.
Rob
To nie działa. x11nvc nadal nie działa podczas rozruchu i jeśli zajrzę do dzienników, widzę: *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue. - Zgaduję, ponieważ nie ma jeszcze ważnego wyświetlacza, z którym można by się połączyć after.local biegnie?
Mike Christensen
Pełny dziennik: pastie.org/3851743
Mike Christensen
Dla wyjaśnienia, X jest działa na tym hoście, prawda? Masz graficzny ekran logowania i pulpit?
George M
@uther - Tak, domyślna instalacja openSuse 12.1 z pulpitem KDE .. Nic specjalnego.
Mike Christensen
1

Nie mam zainstalowanego SuSE 11 przede mną, aby sprawdzić.

Uther jest na dobrej drodze - ale musisz uruchomić program po uruchomieniu X11.

Nie wiem na pewno, czy MOŻE zadziałać, jeśli działa tylko X - czy chcesz go uruchomić, jeśli na przykład zalogujesz się za pomocą ekranu logowania X-window?

Przy 12, SuSE zmienia wszystkie skrypty startowe, więc możesz po prostu uaktualnić, a następnie naprawić go na 12:

http://news.opensuse.org/2011/12/22/systemd-%E2%80%93-boot-faster-and-cleaner-with-opensuse-12-1/

Ogólnym celem będzie ustalenie, co faktycznie działa jako „ekran logowania” w X (prawdopodobnie gdm - http://projects.gnome.org/gdm/ ) i jak to się stało. Gdziekolwiek się uruchomi, będziesz chciał uruchomić x11vnc bezpośrednio przed lub bezpośrednio po nim.

pbr
źródło
Dzięki! Zaktualizowałem do 12 (i tak miałem na myśli), ale wciąż nie mogę znaleźć skryptu, który faktycznie uruchamia się po uruchomieniu X.
Mike Christensen
Nie sądzę, żebyś ją znalazł. Będziesz chciał ścigać skrypty, które są URUCHAMIANIE X - szukaj wszystkiego, co działa GDM. Gdy go znajdziesz, możesz albo (a) zadzwonić do swojego skryptu i zostać skończonym, albo (b) zakodować ogólny „hak”, który uruchamia jakiś skrypt after-x-starts.sh, jeśli istnieje, i przesłać go z powrotem do projekt.
pbr