Score:1

วิธีเริ่มแอป gui ภายในหน้าต่าง openbox นอกไฟล์ทำงานอัตโนมัติ

ธง ke

TL;ดร

ใช้เซิร์ฟเวอร์ Ubuntu 20.04 ด้วย xserver-xorg x11-xserver-utils xinit openbox ติดตั้งแล้ว ฉันสามารถวางคำสั่งภายในไฟล์ autorun ของ openbox และมันทำงานได้ดี ตอนนี้ฉันต้องการเริ่ม openbox จากนั้นจาก daemon ในภายหลังให้เริ่มแอปเพื่อทำงานภายในหน้าต่าง openbox ที่เปิดอยู่ในปัจจุบัน เราจะจัดการกับหน้าต่าง openbox ปัจจุบันได้อย่างไร

รายละเอียด

ฉันทำตามสิ่งนี้มีประโยชน์มาก บทช่วยสอนเกี่ยวกับวิธีการตั้งค่าคีออสก์สำหรับ raspberry pi ฉันดัดแปลงให้ทำงานบนเซิร์ฟเวอร์ Ubuntu

ทุกอย่างทำงานได้ดี ผู้ใช้ที่เป็นแขกจะเข้าสู่ระบบโดยอัตโนมัติเมื่อบูตเครื่อง จากนั้นไฟล์ .profile ของผู้ใช้ที่เป็นแขกจะทำงาน startx -- -nocursorและภายในไฟล์ autostart ของ openbox เป็นคำสั่งเพื่อเริ่ม chromium วันแห่งความสุข.

ตอนนี้ฉันต้องการย้ายคำสั่งเพื่อเริ่มโครเมียมออกจากไฟล์ openbox autostart และวางไว้ภายใต้การควบคุมของหัวหน้างาน (ดังนั้นหากโครเมียมล่ม หัวหน้างานจะรีสตาร์ทโครเมียมโดยอัตโนมัติ)

โชคไม่ดีที่เมื่อ Supervisor พยายามเริ่ม Chromium โดยรันในฐานะผู้ใช้ทั่วไป จะไม่สามารถแสดงหน้าต่าง openbox ได้ ฉันได้ตรวจสอบแล้วว่าในหน้าต่าง openbox $DISPLAY ถูกตั้งค่าเป็น ":0"

ฉันคาดเดาว่ามีปัจจัยอื่น ๆ ในการเล่นซึ่งไม่ใช่แค่การแสดงผลที่ฉันต้องตั้งค่า แต่อาจเป็นตัวจัดการหน้าต่างหรือไคลเอนต์ gui หรืออะไรทำนองนั้น

ไฟล์กำหนดค่าหัวหน้างาน:

[โปรแกรม:โครเมียม]
สภาพแวดล้อม = DISPLAY=":0"
คำสั่ง = เบราว์เซอร์โครเมียม --kiosk
startecs=6
ผู้ใช้ = แขก
stderr_logfile=/var/log/supervisor/chromium_stderr.log
stdout_logfile=/var/log/supervisor/chromium_stdout.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=3

เนื่องจากทำงานในฐานะผู้ใช้ทั่วไป จึงแทบไม่มีสิทธิ์เลยแม้แต่น้อย ฉันตรวจสอบบันทึกข้อผิดพลาดของผู้ควบคุมสำหรับแอปโครเมียมแล้ว และไม่สามารถเปิดได้ /var/log/Xorg.1.logดังนั้นฉันจึง chmod 777 (มันอยู่ที่ 0 ไบต์และไม่เติบโต) ตอนนี้ได้รับ:

xauth: หมดเวลาในการล็อกไฟล์สิทธิ์ /.Xauthority

Score:0
ธง pl

ใน Ubuntu 20.04 คุณไม่จำเป็นต้องมี Supervisord เพื่อให้แน่ใจว่าโปรแกรมจะเริ่มต้นใหม่ คุณสามารถใช้ Systemd เพื่อรีสตาร์ท daemon ที่ล้มเหลว บางทีคุณควรลองใช้วิธีนี้

[บริการ]
รีสตาร์ท = เมื่อล้มเหลว
รีสตาร์ทวินาที = 10 วินาที

เท่าที่ฉันเข้าใจเมื่อคุณได้รับข้อผิดพลาดเช่นนี้:

 หมดเวลาในการล็อกไฟล์สิทธิ์ /.Xauthority

หมายความว่าไฟล์นี้ถูกล็อกโดยแอปอื่นในการลบล็อคฉันคิดว่าคุณสามารถใช้ตัวเลือก -b ได้ แต่ฉันไม่แน่ใจ วิธีแก้อีกอย่างคือถอดมันออก...

ลองกำหนดค่าบันทึกเป็น /tmp สำหรับ /var/log/Xorg.1.log แอปของคุณอาจไม่ได้รับอนุญาต /var/log แต่ฉันมีข้อสงสัย ...

แค่ 2 เซ็นต์ของฉัน...

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา