부팅할 때마다 터미널 명령을 자동으로 실행하는 방법은 무엇입니까?

부팅할 때마다 터미널 명령을 자동으로 실행하는 방법은 무엇입니까?

Ubuntu 설치 시 작은 오디오 문제가 있었는데, 이는 터미널에서 명령을 실행하여 해결할 수 있었습니다(루트 권한 필요 없음).

pacmd load-module module-alsa-sink   device=hw:0,0 &&
pacmd load-module module-alsa-source device=hw:0,0

유일한 문제는 재부팅할 때마다 이 작업을 수행해야 한다는 것입니다. 이 작업을 어떻게 자동화할 수 있나요? 저는 Wayland/Gnome 42를 사용하고 있다는 점을 명심하세요.

답변1

답변2

이 문제에 대한 해결책은 온라인에 많이 있습니다. 몇 가지 답변을 살펴보세요.여기그리고여기.

간단한 질문은 이것입니다(적어도 Debian과 같은 OS의 경우). 사용자가 시스템에 로그인하지 않고도 이러한 명령을 실행할 필요가 없다고 가정하고 일정을 예약하면 cronjob프로세스가 입력만큼 간단합니다. 콘솔에서:

crontab -e

콘솔은 어떤 편집기를 사용할 것인지 묻습니다. 저는 보통 기본 옵션인 Ubuntu에서는 nano를 그대로 두므로 다음 키를 누르기만 하면 됩니다 Enter.

no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed 

콘솔에는 다음이 표시됩니다. 여기에 이미지 설명을 입력하세요.

이제 마지막 줄로 이동하여 다음 줄을 붙여넣으면 됩니다.

@reboot sleep 10 && pacmd load-module module-alsa-sink device=hw:0,0 
@reboot sleep 11 && pacmd load-module module-alsa-source device=hw:0,0

설명: @reboot 와일드카드는 crontab운영 체제가 특정 지점에 도달한 후 다음을 수행합니다. 나는 실행될 명령과 언급된 지점 사이에 지연을 추가하고 싶습니다. 따라서 명령은 sleep.

그런 다음 을 누른 Ctrl+X다음 문자를 입력하고 y다시 누릅니다.Enter

지금 테스트해보세요.


추가: crontab다음을 실행하여 언제든지 로그를 확인할 수 있습니다.

grep CRON /var/log/syslog

답변3

SystemD 자동화 기능을 사용할 수 있습니다. .xinitrc에 명령을 추가하는 것이 좋지만 Wayland를 사용하고 있으므로 작동하지 않을 것 같습니다. /etc/rc.d에 명령이 포함된 스크립트를 추가해 볼 수도 있습니다. (스크립트가 있는 경우 SystemD에 스크립트가 있다고 확신하지만 OpenRC를 사용하므로 확실하지 않습니다.)

답변4

Ubuntu 버전/DE에 대해 언급하지 않았거나 부팅 시 이 작업을 수행해야 하는지 또는 로그인 후에 수행할 수 있는지 여부를 언급하지 않았습니다. 로그인 후 가능하다면 세션 자동 시작에 추가하면 됩니다. 그렇지 않은 경우에는 /etc/xdg/autostart에 추가하거나 컴퓨터의 .xinitrc를 제거한 경우 가능합니다. 그렇지 않으면 Artem의 조언을 참조하십시오.

관련 정보