Tôi có một tập lệnh thay đổi một số cài đặt Gnome mà tôi muốn chạy khi khởi động.Bản thân tập lệnh hoạt động tốt khi tôi chạy thủ công, nhưng tôi gặp lỗi sau khi chạy dưới dạng dịch vụ systemd:
â startup-user.service - Dịch vụ khởi động
Đã tải: đã tải (/etc/systemd/system/startup-user.service; đã bật; giá trị đặt sẵn của nhà cung cấp: đã bật)
Hoạt động: không thành công (Kết quả: mã thoát) kể từ Thứ Bảy 2022-02-05 13:03:48 UTC; 21s trước
Quá trình: 1948 ExecStart=/data/startup-user.sh (mã=đã thoát, trạng thái=1/THẤT BẠI)
PID chính: 1948 (mã=đã thoát, trạng thái=1/THẤT BẠI)
CPU: 22 mili giây
Ngày 05 tháng 2 13:03:48 debian systemd[1]: Bắt đầu Dịch vụ Khởi động.
Ngày 05 tháng 2 13:03:48 debian gsettings[1950]: không thể thực hiện các thay đổi đối với dconf: Không thể tự động khởi chạy D-Bus mà không có X11 $DISPLAY
Ngày 05 tháng 2 13:03:48 debian gsettings[1953]: không thể thực hiện các thay đổi đối với dconf: Không thể tự động khởi chạy D-Bus mà không có X11 $DISPLAY
Ngày 05 tháng 2 13:03:48 debian gsettings[1956]: không thể thực hiện các thay đổi đối với dconf: Không thể tự động khởi chạy D-Bus mà không có X11 $DISPLAY
Ngày 05 tháng 2 13:03:48 debian startup-user.sh[1959]: Lỗi kết nối: Không thể tự khởi chạy D-Bus mà không có X11 $DISPLAY
Ngày 05 tháng 2 13:03:48 debian systemd[1]: startup-user.service: Quá trình chính đã thoát, mã=đã thoát, trạng thái=1/THẤT BẠI
Ngày 05 tháng 2 13:03:48 debian systemd[1]: startup-user.service: Không thành công với kết quả 'mã thoát'.
Đây là tập tin kịch bản:
#!/bin/bash
gsettings đặt org.gnome.desktop.peripherals.touchpad cuộn tự nhiên sai
gsettings đặt org.gnome.desktop.peripherals.touchpad chạm để nhấp đúng
gsettings đặt org.gnome.settings-daemon.plugins.power kích hoạt môi trường xung quanh sai
cuộc gọi gdbus --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.freedesktop.DBus.Properties.Set org.gnome.SettingsDaemon.Power.Screen Brightness '<int32 100>'
Và đây là tệp đơn vị dịch vụ:
[Đơn vị]
Mô tả=Dịch vụ khởi động
Sau=graphical.target
[Dịch vụ]
Loại = đơn giản
ExecStart=/data/startup-user.sh
Người dùng=người dùng
[Cài đặt]
WantedBy=graphical.target
Đây là lần đầu tiên tôi làm việc với các dịch vụ systemd và tôi không biết nhiều về trình quản lý hiển thị hoặc bất kỳ thứ gì khác có liên quan ở đây, nhưng tôi cho rằng nếu dịch vụ của tôi bắt đầu sau đồ họa.mục tiêu
, thì trình quản lý hiển thị sẽ được khởi động và tất cả các biến cần thiết sẽ được đặt. tôi cũng đã thử Sau=gdm.service
, và tôi không chắc liệu tôi có nên có đồ họa.mục tiêu
cho cả hai Sau =
và MuốnBy=
, nhưng nếu tôi xóa nó khỏi MuốnBy=
sau đó dịch vụ hoàn toàn không chạy.
Trong trường hợp bạn đang thắc mắc và/hoặc nó tạo ra sự khác biệt, thì đây là hệ thống trực tiếp mà tôi đang xây dựng Debian trực tiếp. Thay vì sử dụng phân vùng lưu trữ lâu dài, tôi muốn chạy tập lệnh này mỗi khi khởi động để nó có thể thực hiện một số cấu hình cơ bản. Tệp script nằm trên một phân vùng ext4 riêng biệt được gắn tại /dữ liệu
, vì vậy tôi có thể sửa đổi tệp tập lệnh bất cứ khi nào tôi muốn thay đổi cài đặt.
Tôi đang làm gì sai? Cảm ơn!