Raspberry pi autostart ของ LXDE ไม่ทำงาน


16

ฉันอัพเกรดการติดตั้งราสเบอร์รี่ Pi ด้วย Pi 2 แต่เนื่องจากฉันอัพเกรดแพคเกจทั้งหมด autostart จึงไม่ทำงานอีกต่อไป:

ดูเหมือนว่าจะไม่ทำงาน:

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

หรือสิ่งนี้:

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

เนื้อหาของไฟล์ autostart คือ:

@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

ฉันจะกำหนดค่าสิ่งนั้นให้autostartทำงานได้อย่างไร?


การตรวจสอบคำถาม / สติโง่: คุณยืนยันว่าไฟล์ autostart ไม่ทำงานโดยแทนที่คำสั่งของคุณด้วยบางสิ่งพื้นฐานจริง ๆหรือไม่? ตัวอย่างเช่นลบทุกอย่างที่ด้านล่าง '#Auto เรียกใช้เบราว์เซอร์' และทดสอบ '@midori'
goobering

ใช่ฉันทำอย่างนั้น มันไม่ได้เป็นเพียง exectued
S.Spieker

คำตอบ:


14

มีคำอธิบายที่เป็นไปได้สำหรับปัญหาของคุณในกระทู้นี้ที่ฟอรัม raspberrypi.org

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

นั่นคือไฟล์ autostart ทั่วโลกและใช้งานได้กับผู้ใช้ทั้งหมด ... เว้นแต่ว่าพวกเขาจะมี autostart ของผู้ใช้ หากผู้ใช้มีไฟล์ autostart โกลบอลจะถูกละเว้นและใช้ autostart ส่วนบุคคล การตั้งค่าผู้ใช้จะถูกนำมาใช้ครั้งสุดท้ายและมีความสำคัญเหนือกว่าการตั้งค่าทั่วโลก Jessie สร้างไฟล์ autostart ของผู้ใช้ระหว่างการติดตั้งดังนั้นการเปลี่ยนการตั้งค่าในไฟล์โกลบอลจะไม่มีผลกระทบอีกต่อไป

/etc/xdg/lxsession/LXDE/autostart

นั่นคือตำแหน่ง "เก่า" ตำแหน่งใหม่ใช้ "/ LXDE-pi /" ไดเรกทอรี "/ LXDE /" อาจมีอยู่ แต่จะถูกละเว้น

ตำแหน่งที่ถูกต้องสำหรับการเพิ่มรายการ autostart ~/.config/lxsession/LXDE-pi/autostartควรจะเป็น ขอแนะนำให้คุณอย่าใช้ sudo เพื่อแก้ไข


ขอบคุณที่ชี้ให้เห็นถึงสิ่งนี้ แต่ฉันเปลี่ยนความเป็นเจ้าของเป็น pi: pi แต่นั่นก็ไม่ได้ผลเช่นกัน
S.Spieker

1
ขออภัยคุณยืนยันสิ่งที่คุณเปลี่ยนความเป็นเจ้าของได้หรือไม่ นั่นไม่จำเป็นที่นี่
goobering

-rw-r--r-- 1 pi pi 414 Mar 18 06:55 /etc/xdg/lxsession/LXDE-pi/autostart
S.Spieker

นั่นไม่ได้ช่วยที่นี่ - การตั้งค่าระดับผู้ใช้จะยังคงมีความสำคัญมากกว่าการตั้งค่า คุณต้องคัดลอก / วางคำสั่งของคุณไปที่ ~ / .config / lxsession / LXDE-pi / autostart
goobering

1
ฉันเกรงว่าฉันจะไม่ได้รับคำแนะนำ มีคำแนะนำที่นี่ซึ่งอาจรวมถึงสิ่งที่ฉันพลาด แต่เท่าที่ฉันสามารถบอกได้ว่านี่คือวิธีจัดการการกำหนดค่าเริ่มต้นโดยอัตโนมัติ
goobering

10

ประสบปัญหาเดียวกัน นี่คือสิ่งที่ฉันค้นพบ:

ตรวจสอบว่ามี/home/pi/.config/lxsession/LXDE-pi/autostartไฟล์อยู่หรือไม่ /etc/xdg/lxsession/LXDE-pi/autostartถ้ามีอยู่ก็จะถูกนำมาใช้แทน

ดูบันทึก (หลังจากรีบูต) ใน/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

แนะนำให้ดูที่/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

...

ดังนั้นฉันจึงทดสอบคำสั่งด้วยตนเองในเทอร์มินัล (ใน GUI) ฉันพบข้อผิดพลาด:

$ /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

แต่เบราว์เซอร์เริ่มต้นแล้ว ...

เล่นกับคำสั่งและลดลงไป/usr/bin/epiphany-browser/usr/bin/epiphany-browser --profile ~/.config https://google.de

จากนั้นเปลี่ยน/home/pi/.config/lxsession/LXDE-pi/autostartบรรทัดเป็น:

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

และใช้งานได้ - เบราว์เซอร์เริ่มต้นขึ้น

ทดสอบเมื่อ:

  • ราสเบอร์รี่ 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
    

"ตรวจสอบว่าไฟล์ /home/pi/.config/lxsession/LXDE-pi/autostart มีอยู่ถ้ามีอยู่มันจะถูกใช้" - นั่นช่วยประหยัดวันของฉัน!
Mykhailo Seniutovych

2

เมื่อวานฉันดาวน์โหลด NOOBS และสร้างตัวติดตั้ง micro SD ใหม่ หลังจากการติดตั้ง Raspian ทุกอย่างก็โอเคในตอนแรกจนกระทั่งฉันมองที่ออโต้สตาร์ท ฉันพบว่าโฟลเดอร์ /home/pi/.config/lxsession ไม่มีอยู่ดังนั้นฉันจึงสร้างขึ้นมาและโฟลเดอร์ /home/pi/.config/lxsession/LXDE-pi จากนั้นฉันสร้างไฟล์ autostart เป็นไฟล์เปล่าและเพิ่มคำสั่ง autostart ของฉัน หลังจากรีบูตฉันมีหน้าจอสีดำ ฉันมี Pis ทำงานอื่นและฉันตรวจสอบไฟล์ autostart ของพวกเขา พวกเขามีเส้นเหล่านี้

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

การเพิ่มบรรทัดเหล่านี้ในการติดตั้งใหม่ช่วยแก้ปัญหาได้

ฉันกำลังเพิ่มคำตอบนี้เพื่อประโยชน์ของคนอื่นเช่นฉันที่กำลังมองหาวิธีแก้ไขปัญหาเดียวกัน


1

ฉันสามารถแก้ปัญหาด้วยภารกิจ cron

ก่อนอื่นฉันติดตั้งแพ็คเกจ:

sudo apt-get install gnome-schedule

ฉันแก้ไข crontab ผ่าน:

crontab -e

ฉันเพิ่มงานหลังจากรีบูตแต่ละครั้งที่ฉันใส่เบราว์เซอร์เริ่มต้น:

@reboot /home/pi/startupscript &

0

เขียนบนเส้นทางเหล่านี้ 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

นอกจากนี้คุณสามารถเปลี่ยน--start-fullscreenfor for kiosk ได้ แต่คีออสจะต้องฆ่ากระบวนการของแอพของคุณ

คำสั่ง: pkill chromium


0

ฉันพบข้อผิดพลาดนี้:

[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:

ฉันจัดการเพื่อเอาชนะมันโดยใช้บทช่วยสอนนี้

ฉันติดตั้งตัวจัดการหน้าต่าง

$ sudo apt-get install matchbox-window-manager

จากนั้นฉันรวมสิ่งนี้ไว้ใน.config/lxsession/LXDE-pi/autostartChromium ก่อนที่จะเริ่มต้น

@matchbox-window-Manager -use_cursor no&

จากนั้นคำสั่งของการเริ่มต้นโครเมียมเบราว์เซอร์ด้วยตัวเลือกของฉัน


0

สามสิ่งที่ทำให้ฉันสะดุด:

  • เริ่มอัตโนมัติของผู้ใช้แทนที่โลก; หากคุณต้องการเริ่มทุกอย่างตามปกติรวมถึงคำสั่งที่กำหนดเองให้คัดลอกค่าเริ่มต้นและเพิ่มคำสั่งของคุณไปยังจุดสิ้นสุด:

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

  • ใน$HOME/.config/lxsession/LXDE-pi/desktop.confมีส่วนนี้ - ถ้าdisable_autostart=yesมันจะไม่ทำงาน (ชัดเจนในการหวนกลับใช่):

    [เซสชัน] disable_autostart = ไม่

  • autostart ไม่ใช่เชลล์สคริปต์ หากคุณต้องการอะไรนอกเหนือจากการเปิดตัวโปรแกรมให้สร้างเชลล์สคริปต์และเรียกสิ่งนั้นจาก autostart (เช่นfoo && barจะไม่ทำงานที่นี่)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.