TL;DR
Chạy máy chủ Ubuntu 20.04 với hộp mở xinit xserver-xorg x11-xserver-utils xinit
Cài đặt. Tôi có thể đặt một lệnh trong tệp tự động chạy của openbox và nó chạy tốt. Bây giờ tôi muốn bắt đầu openbox, sau đó từ một trình nền, sau đó bắt đầu một ứng dụng để chạy trong cửa sổ openbox hiện đang mở. Làm cách nào để xử lý cửa sổ hộp mở hiện tại?
Chi tiết
Tôi đã làm theo điều này rất hữu ích hướng dẫn cách thiết lập ki-ốt, nó dành cho raspberry pi, tôi đã điều chỉnh nó để chạy trên máy chủ ubuntu.
Tất cả chạy tốt; người dùng khách tự động đăng nhập khi khởi động, sau đó tệp .profile của người dùng khách sẽ chạy startx -- -nocursor
và bên trong tệp tự động khởi động của hộp mở là một lệnh để khởi động crom. Những ngày hạnh phúc.
Bây giờ tôi muốn di chuyển lệnh khởi động crom ra khỏi tệp tự động khởi động hộp mở và đặt nó dưới sự kiểm soát của người giám sát (vì vậy nếu crom gặp sự cố, người giám sát sẽ tự động khởi động lại crom).
Thật không may khi người giám sát cố gắng khởi động crom, chạy với tư cách là người dùng khách, thì không thể hiển thị cửa sổ hộp mở. Tôi đã xác minh rằng trong cửa sổ hộp mở, $DISPLAY được đặt thành ":0".
Tôi đoán có một số yếu tố khác đang diễn ra, đó không chỉ là màn hình tôi cần đặt, mà có thể là trình quản lý cửa sổ, ứng dụng khách gui hoặc thứ gì đó tương tự.
Tệp cấu hình giám sát:
[chương trình:crom]
môi trường = HIỂN THỊ=":0"
lệnh = trình duyệt crom --kiosk
bắt đầu = 6
người dùng = khách
stderr_logfile=/var/log/supervisor/chromium_stderr.log
stdout_logfile=/var/log/supervisor/chromium_stdout.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=3
Vì nó đang chạy với tư cách là khách của người dùng nên nó hầu như không có ít quyền.
Tôi đã kiểm tra nhật ký lỗi của người giám sát cho ứng dụng crom và nó không mở được /var/log/Xorg.1.log
, vì vậy tôi đã chmod 777 nó (nó vẫn ở mức 0 byte vì không tăng), hiện đang nhận được:
xauth: hết thời gian chờ trong tệp thẩm quyền khóa /.Xmasterity