작업: Linux 부팅 시 Firefox 실행(Ubuntu 18.04 LTS)
문제: GUI 프로그램을 시작하고 싶은데 문제가 있는 것 같습니다.
내가 뭘 잘못하고 있고 어떻게 문제를 해결할 수 있나요?
시스템 파일은 다음 위치에 있습니다. ~/.config/systemd/user
활성화:systemctl --user enable firefox
내 조직 프로필:
Description=Start Firefox
PartOf=graphical-session.target
[Service]
ExecStart=/usr/bin/firefox
Type=oneshot
[Install]
WantedBy=graphical-session.target```
답변1
효과가있다!
서비스 단위 파일은 에 배치되어야 합니다 ~/.config/systemd/user
.
사용자별 서비스이므로 sans sudo --user
옵션을 사용하여 운영해야 합니다. systemctl
예를 들어:
활성화됨: 예: systemctl --user enable firefox
이는 활성화 및 비활성화에도 적용됩니다.
~/.config/systemd/user/firefox.service:
시스템 사람들이 사용자별 서비스를 로그인 세션별 서비스처럼 보이게 만들고자 하는 부분은 서비스 단위가 설정과 병합해야 하는 전체 그래픽 세션 메커니즘입니다.
[Unit] PartOf=graphical-session.target
graphical-session.target
그래픽 로그인 후 활성화되지 않는 경우 (오래되었거나 안정적인 시스템을 사용하고 있을 수 있음)
로그인 시 서비스를 실행하는 기본 후크가 없으므로 직접 트리거해야 합니다. 내 아카이브에서 이 작업을 수행합니다 ~/.xsession
.
systemctl --user import-environment PATH DBUS_SESSION_BUS_ADDRESS
systemctl --no-block --user start xsession.target
첫 번째 줄은 일부 환경 변수를 시스템 사용자 세션으로 가져오고 두 번째 줄은 대상을 시작합니다. 내 xsession.target
파일:
[Unit] Description=Xsession running BindsTo=graphical-session.target
내 조직 프로필:
Description=Start Firefox
PartOf=graphical-session.target
[Service]
ExecStart=/usr/bin/firefox Type=simple
Restart=on-failure
[Install]
WantedBy=xsession.target```
답변2
- 모든 로그
systemctl status firefox.service
(firefox.service가 이름이라고 가정)는 동일한 문제를 디버깅하는 데 도움이 될 수 있습니다. - 어떤 조치를 취하고 즉시 종료될 것으로 예상되는 것으로 선언된 서비스
oneshot
(따라서 실제 서비스가 아니며 실행 중인 프로세스를 보존하지 않습니다). 이러한 유형의 서비스에 대한 일반적인 패턴은 설정 및 해제 작업을 통해 정의됩니다.