우분투에 로그인 할 때 쉘 스크립트를 자동으로 실행하는 방법


15

로그인 할 때 자동으로 스크립트를 실행하려면 어떻게합니까? 머신이 시작될 때가 아니라 모든 사용자가 아니라 GNOME UI를 통해 로그인 한 경우에만 해당됩니다.

다른 곳에서 읽으면 .bash_profile홈 디렉토리에 있다고 생각 했지만 효과가 없습니다. 입력하여 터미널 창에서 수동으로 실행하면 ~/.bash_profile작동하지만 로그인 할 때 자동으로 실행되지 않습니다.

우분투 11.04를 실행 중입니다. 내 .bash_profile에 대한 파일 권한은 -rwx------입니다. 오늘 생성하기 전에 내 홈 디렉토리에 .bash_profile이 없습니다.

.profile각 사용자마다 파일 이있는 이전 버전의 Linux를 기억하는 것 같지만 작동하지 않습니다.

어떻게 되나요? .bash_profile이 작동하도록 다른 것을 구성해야합니까? 또는 사용자 별 로그인 스크립트가 다른 파일에 있어야합니까?


bash 터미널을 열 때마다 .bash_profile, .profile 및 .bashrc (ubuntu가 실제로 사용하는 것) 가로 드됩니다. 실제로 GDM에 로그인하면로드 될지 확실하지 않습니다.
Juan Sebastian Totero

Ubuntu 버전을 게시하면 도움이 될 수 있습니다. Ubuntu 10.10에서 .bashrc는 "작동합니다 (TM)."
Vlueboy 2016 년

GUI 또는 쉘에 로그인 할 때를 의미합니까?
Flimzy

bash는 새로운 쉘을 시작할 때 그것들을로드하므로, Gnome (GDM)에 로그인 할 때가 아니라 터미널 창을 열거 나 가상 터미널에 로그인 할 때만로드됩니다.
shiftycow

원래 질문에서 언급했듯이 우분투 11.04를 사용하고 있습니다.
Mike Rowave 2016 년

답변:


11

시스템> 환경 설정> 시작 애플리케이션에 다음 명령을 추가하기 만하면됩니다.

bash /full/path/to/your/script.sh

그 트릭을해야합니다;)


당신은 무엇을 알고 있습니다, 나는 전에 그것을했고 그것은 작동하지 않았습니다 ... 스크립트 경로 앞에 "bash"를 쓰지 않았다는 것을 제외하고! 나중에 bash로 시도해 볼 것입니다. 호기심에서 GUI를 통해 Startup Applications에 무언가를 입력하면 어떤 파일이 등록됩니까?
Mike Rowave

시작 프로그램을 등록해야/etc/xdg/autostart
shiftycow

bash /home/myusername/scriptname"시작 응용 프로그램"에 추가 했습니다! 감사. 그러나 이것은 우분투의 그놈에만 해당 될 수 있기 때문에 다른 최신 버전의 Linux에서 유사 할 가능성이 있기 때문에 "시작 응용 프로그램"메뉴 항목의 항목이 어디에 등록되어 있는지 궁금합니다.
Mike Rowave

2
/etc/xdg/autostart사용자에 한정되지 않고 시스템 전체 파일 인 것으로 보입니다.
Mike Rowave 2016 년

이후 버전의 우분투는 askubuntu.com/questions/159887/…를
TooTone

8

따라서 기본적으로 nodiscc가 제안한 대로 다음 내용 으로 데스크탑 런처를 작성하십시오. ~ / .config / autostart / script.desktop

[Desktop Entry]
Type=Application
Name=Autostart Script
Exec=autostart
Icon=system-run
X-GNOME-Autostart-enabled=true

그런 다음 bash 내용으로 ~ / bin / autostart 자동 시작 스크립트를 작성하십시오 .

#!/bin/bash
# Execute bash script below

~ / bin / autostart 가 실행 가능한지 확인하십시오


5

crontab에 줄을 추가 할 수 있습니다-

crontab -e

그런 다음 열리는 파일에 다음 줄을 추가하십시오.

@reboot /path/to/your/cool/script

재부팅시 스크립트가 실행됩니다. 자세한 내용은man crontab


이유를 모르지만 "응용 프로그램 시작"에서 .sh 파일을 실행할 수 없으므로 지금 가장 쉬운 방법은 cron입니다.
Albert Català


-1

@ JuanSebastianTotero 확장 .

대신에:

bash /full/path/to/your/script.sh

시험

sh /full/path/to/your/script.sh

bashUbuntu 13.04및 에서 작동하지 않았습니다 14.04. 그러나 sh그렇습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.