SDDM을 실행하는 Lubuntu에 로그인할 때 실행할 명령을 어디에 두어야 합니까?

SDDM을 실행하는 Lubuntu에 로그인할 때 실행할 명령을 어디에 두어야 합니까?

터미널에서 배경화면을 설정하려고 합니다. 스크립트는 다음과 같습니다

pcmanfm-qt --set-wallpaper=$(ls /home/$USER/.local/share/wallpapers/*/* | shuf -n1)

이렇게 하면 배경화면이 변경되지만 로그인할 때마다 자동으로 실행되도록 하고 싶습니다.

이 스크립트를 적절한 파일에 넣어 보았습니다. 예를 들어 /etc/X11/xinit/xinitrc 파일을 받으면 예상대로 실행되지만 로그인하면 아무 일도 일어나지 않습니다.

로그인할 때마다 이 줄을 실행할 위치에 대한 도움이 필요합니까? (전역 폴더가 아닌 내 사용자 폴더 아래에 있는 것이 바람직함)

저는 Lubuntu 19.10과 SDDM(Simple Desktop Display Manager)을 사용하고 있습니다.

답변1

SDDM이기 때문에:

맨페이지 보기sddm.conf, 가지다

SessionCommand=

사용자 세션을 시작할 때 실행될 스크립트의 경로입니다. 스크립트는 선택한 세션의 ".desktop" 파일에 있는 "Exec" 설정 값을 받아 실행합니다. 기본값은 "/etc/sddm/Xsession"입니다.

따라서 해당 파일을 만들거나 sddm.conf직접 수정 및 추가하고 이 파일에서 작업을 수행해 보세요.

디버깅 목적으로 /tmp/출력을 일부 파일로 리디렉션하여 출력을 로그 파일로 작성하는 것은 유용한 기술입니다.

첫 번째 단계로 다음과 같은 것을 시도해 보세요.

echo "Session file executed" >> /tmp/my.log

로그인하면 특정 작업이 수행되는지 확인할 수 있습니다. 그런 다음 배경화면 명령을 추가해 보세요.

답변2

'SessionCommand'sddm.conf는 필요한 매개변수 가 있는 여러 섹션을 지정합니다 [Wayland]. 기본 스크립트는 "/etc/sddm/wayland-session"사용자의 홈 디렉터리에서 다음 스크립트 파일을 확인하고 가져옵니다.

을 위한:

$HOME/.bash_profile, $HOME/.bash_login, $HOME/.profile.

로그인 시 활성화하려면 홈 디렉토리에 있는 세 파일 중 하나에 wallpaper set 명령을 배치할 수 있어야 합니다.

참고: 기술적으로 Lubuntu 대신 Ubuntu를 사용하고 있으므로 시스템 차이가 있을 수 있지만 이것이 두 배포판의 기본값이어야 합니다.

답변3

내가 찾은 기사는 다음과 같습니다.https://smallbusiness.chron.com/run-command-startup-linux-27796.html

  1. crontab 파일에 명령을 넣으십시오. Linux의 crontab 파일은 특정 시간 및 이벤트에서 사용자 편집 작업을 수행하는 데몬 프로세스입니다. 파일을 편집하려면 터미널을 열고 "sudo crontab -e"를 입력하여 기본 텍스트 편집기에서 crontab 파일을 엽니다. 사용 가능한 첫 번째 줄에 "@reboot xxxx"를 입력합니다. 여기서 "xxxx"는 실행하려는 명령입니다. 파일을 저장하고 종료합니다.
  2. 이 명령이 포함된 스크립트를 /etc 디렉토리에 배치합니다. 선호하는 텍스트 편집기를 사용하여 "startup.sh"와 같은 스크립트를 만듭니다. /etc/init.d/ 디렉터리에 파일을 저장합니다. "chmod +x /etc/init.d/mystartup.sh"를 입력하여 스크립트의 권한을 변경합니다(실행 가능하게 만듭니다).

  3. 텍스트 편집기를 사용하여 /rc.local 스크립트를 편집합니다. 루분투에서는 /etc/rc.local에 있습니다. 실행하려는 명령을 추가한 후(루트로 수행해야 함) 파일을 저장하고 종료합니다. 이 명령은 다음에 시작할 때 실행됩니다.

관련 정보