Autostart LXDE w Raspberry pi nie działa

16

Zaktualizowałem instalację Raspberry Pi za pomocą Pi 2. Ale ponieważ zaktualizowałem wszystkie pakiety, autostart nie działa już:

ani to nie działa:

sudo nano /etc/xdg/lxsession/LXDE/autostart

ani to:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

zawartość pliku autostartu to:

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
# Auto run the browser
@xset s off
@xset -dpms
@xset s noblank
@/usr/bin/epiphany-browser -a --profile ~/.config http://google.de
@sleep 5s # give it time to start
@echo key F11 | xte # simulate pressing the full screen key

Jak mogę skonfigurować autostartwykonywanie?

S.Spieker
źródło
Głupie pytanie / kontrola rozsądku: czy potwierdziłeś, że plik autostartu nie działa, zastępując twoje polecenia czymś naprawdę podstawowym? Na przykład usuń wszystko poniżej „#Auto uruchom przeglądarkę” i przetestuj „@midori”.
goobering
Tak, zrobiłem to. Po prostu nie jest to uzasadnione.
S.Spieker,

Odpowiedzi:

14

W tym wątku na forach raspberrypi.org znajduje się dość prawdopodobne wyjaśnienie twojego problemu .

/etc/xdg/lxsession/LXDE-pi/autostart

To jest globalny plik autostartu i działa dla wszystkich użytkowników ... chyba że mają autostart użytkownika. Jeśli użytkownik ma plik autostartu, plik globalny jest ignorowany i używany jest osobisty autostart. Ustawienia użytkownika są stosowane jako ostatnie i mają pierwszeństwo przed ustawieniami globalnymi. Jessie tworzy plik autostartu użytkownika podczas instalacji, więc zmiana ustawień w pliku globalnym nie ma już żadnego wpływu.

/etc/xdg/lxsession/LXDE/autostart

To jest „stara” lokalizacja, nowa lokalizacja używa „/ LXDE-pi /”. Katalog „/ LXDE /” może istnieć, ale zostanie zignorowany.

Prawidłowa lokalizacja dodawania elementów autostartu powinna być ~/.config/lxsession/LXDE-pi/autostart. Zaleca się, aby nie używać sudo do edycji.

goobering
źródło
Dzięki za zwrócenie na to uwagi, ale zmieniłem właściciela na pi: pi, ale to też nie działa.
S.Spieker,
1
Przepraszam, czy mógłbyś potwierdzić, że zmieniłeś własność? To nie powinno być tutaj konieczne.
goobering
-rw-r--r-- 1 pi pi 414 Mar 18 06:55 /etc/xdg/lxsession/LXDE-pi/autostart
S.Spieker,
To nie pomoże tutaj - ustawienia na poziomie użytkownika nadal będą miały pierwszeństwo przed tymi ustawieniami. Musisz skopiować / wkleić swoje polecenia do ~ / .config / lxsession / LXDE-pi / autostart.
goobering
1
Obawiam się, że to prawie wyrzuca mnie z sugestii. Jest tu przewodnik , który może zawierać coś, co przeoczyłem, ale o ile wiem, jest to sposób, w jaki obsługiwane są konfiguracje autostartu.
goobering
10

Wystąpił ten sam problem. Oto moje ustalenia:

Sprawdź, czy /home/pi/.config/lxsession/LXDE-pi/autostartplik istnieje. Jeśli istnieje, zostanie użyty zamiast /etc/xdg/lxsession/LXDE-pi/autostart.

Wyświetl dzienniki (po ponownym uruchomieniu) w /home/pi/.xsession-errors:

$ cat .xsession-errors
Xsession: X session started for pi at Sat 30 Jul 23:14:04 UTC 2016
localuser:pi being added to access control list
** Message: main.vala:99: Session is LXDE-pi
** Message: main.vala:100: DE is LXDE
** Message: main.vala:131: log directory: /home/pi/.cache/lxsession/LXDE-pi
** Message: main.vala:132: log path: /home/pi/.cache/lxsession/LXDE-pi/run.log

Sugeruje to spojrzenie na /home/pi/.cache/lxsession/LXDE-pi/run.log:

$ tail -n30 /home/pi/.cache/lxsession/LXDE-pi/run.log
...

** (epiphany-browser:874): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
--profile must be an existing directory when --application-mode is requested
** Message: app.vala:130: /usr/bin/epiphany-browser exit with this type of exit: 256

...

Przetestowałem więc polecenie ręcznie w terminalu (w GUI). Mam kilka błędów:

$ /usr/bin/epiphany-browser -a --profile ~/.config https~://google.de

** (epiphany-browser:1218): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
** Message: Remote error from secret service: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files

** (epiphany-browser:1218): WARNING **: Error caching form data: The name org.freedesktop.secrets was not provided by any .service files

Ale przeglądarka i tak się uruchomiła ...

Zagrano za pomocą /usr/bin/epiphany-browserpolecenia i zredukowano do /usr/bin/epiphany-browser --profile ~/.config https://google.de.

Następnie zmieniłem /home/pi/.config/lxsession/LXDE-pi/autostartlinie na:

@/usr/bin/epiphany-browser --profile ~/.config https://google.de

I działało - uruchomiono przeglądarkę.

Testowane na:

  • Raspberry Pi 3
  • Debian Jessie

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Raspbian
    Description:    Raspbian GNU/Linux 8.0 (jessie)
    Release:    8.0
    Codename:   jessie
    
czerasz
źródło
„Sprawdź, czy istnieje plik /home/pi/.config/lxsession/LXDE-pi/autostart. Jeśli istnieje, zostanie użyty” - to uratowało mi dzień!
Mychajło Seniutowycz
2

Wczoraj pobrałem NOOBS i stworzyłem nowy instalator micro SD. Po instalacji Raspian wszystko początkowo wyglądało OK, dopóki nie spojrzałem na autostart. Odkryłem, że folder /home/pi/.config/lxsession nie istnieje, więc utworzyłem go i folder /home/pi/.config/lxsession/LXDE-pi. Następnie utworzyłem plik autostart jako pusty plik i dodałem polecenie autostartu. Po ponownym uruchomieniu miałem czarny ekran. Mam inne działające Pis i sprawdziłem ich pliki autostartu. Mają te linie

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi

Dodanie tych wierszy do nowej instalacji rozwiązało problem.

Dodaję tę odpowiedź z korzyścią dla kogoś takiego jak ja, który szuka rozwiązania tego samego problemu.

e_james
źródło
1

Byłem w stanie rozwiązać problem z zadaniem cron.

Najpierw zainstalowałem pakiety:

sudo apt-get install gnome-schedule

Edytowałem crontab poprzez:

crontab -e

Po każdym ponownym uruchomieniu dodałem zadanie, w którym uruchamiam przeglądarkę:

@reboot /home/pi/startupscript &
S.Spieker
źródło
0

napisz na tej ścieżce autostart - /home/pi/.config/lxsession/LXDE-pi/

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@/usr/bin/chromium-browser --start-fullscreen --incognito "USE URL¨S HERE, IF YOU WANT TO USE MORE THAN ONE USE A SPACE FOR EACH URL"
@/usr/bin/xdotool x y

Możesz także zmienić --start-fullscreenopcję dla kiosku, ale kiosk musi zabić proces aplikacji.

Komenda: pkill chromium

Jorge V.
źródło
0

Wystąpił ten błąd:

[1216:1216:0128/120813.940515:ERROR:browser_main_loop.cc(582)] Failed to put Xlib into threaded mode.

(chromium-browser:1216): Gtk-WARNING **: cannot open display:

Udało mi się to pokonać, korzystając z tego samouczka .

Zainstalowałem menedżera okien

$ sudo apt-get install matchbox-window-manager

Potem załączyłem to .config/lxsession/LXDE-pi/autostartprzed rozpoczęciem Chromium.

@matchbox-window-Manager -use_cursor no&

Następnie polecenie uruchomienia przeglądarki chromu z moimi opcjami.

Ignas Anfalovas
źródło
0

Trzy rzeczy, które mnie potknęły:

  • autostart użytkownika zastępuje globalny; jeśli chcesz zacząć wszystko jak zwykle plus niestandardowe polecenia, skopiuj domyślne i dodaj swoje polecenia na końcu:

    cp / etc / xdg / lxsession / LXDE-pi / autostart $ HOME / .config / lxsession / LXDE-pi / editor $ HOME / .config / lxsession / LXDE-pi / autostart

  • w $HOME/.config/lxsession/LXDE-pi/desktop.conf, jest to część - jeśli disable_autostart=yesto nie będzie działać (oczywiste z perspektywy czasu, tak):

    [Sesja] disable_autostart = nie

  • autostart nie jest skryptem powłoki. Jeśli potrzebujesz czegoś poza zwykłym uruchamianiem programów, lepiej stwórz skrypt powłoki i wywołaj go z autostartu (np. foo && barTutaj nie będzie działać)

Piskvor opuścił budynek
źródło