로그인 시 메시지를 표시하려고 합니다.리눅스 민트 17.2. 나는 성공하지 못한 채 다양한 방법을 시도했습니다.
/home/myusername/Desktop/startup-message.sh
1) 아래와 같이 파일을 만들었습니다 .
#!/bin/bash
echo "My startup message"
pause
exit
파일을 실행 가능하게 만들고 명령줄에서 실행할 수 있는지 확인했습니다.
bash "/home/myusername/Desktop/startup-message.sh"
또는
sh -c "/home/myusername/Desktop/startup-message.sh"
그런 다음 Mint의 "Launch Application" 기능을 사용하고 새 항목을 추가했습니다. 나는 시도했다:
"/home/myusername/Desktop/startup-message.sh"
bash "/home/myusername/Desktop/startup-message.sh"
sh -c "/home/myusername/Desktop/startup-message.sh"
경로 이름 주위에 따옴표가 있거나 없습니다. 모든 경우에 아무것도 표시되지 않으며 "일시 중지"가 무시됩니다.
마지막으로 일시정지 후 파일을 복사하라는 명령을 추가했더니 파일이 복사되었습니다. 그러면 시작 파일에서 echo
및 가 무시되는 것처럼 보입니다 pause
. 아마도 열려 있는 터미널이 없기 때문일 것입니다.
2) 그런 다음 메시지를 추가하려고 시도했지만 /etc/profile
로그인했을 때 메시지가 나타나지 않았습니다.
3) 그런 다음 메시지를 추가하려고 시도했지만 /etc/motd
로그인했을 때 메시지가 나타나지 않았습니다.
그러면 이 간단한 작업을 어떻게 수행합니까?
답변1
기능을 혼동하고 있습니다 echo
. echo
표준 출력 파일 설명자로 인쇄됩니다. 터미널이 열려 있는 경우 일반적으로 터미널에서 실행하는 명령/스크립트의 표준 출력이 됩니다. echo
터미널 자체는 열리지 않습니다 .
시작 시 메시지를 표시하려면 다음과 같은 방법을 사용하는 것이 보다 "그래픽적인" 방법입니다 zenity
.
zenity --info --text "Hello, world!"
이것을 시작 스크립트에 넣으면 이 효과를 보여주는 메시지 상자가 표시됩니다.
또한 motd
텍스트 기반 로그인 메시지를 인쇄하면(예: 가상 터미널에 로그인하거나 login 을 통해 ssh
) 원하는 대로 작동하지 않습니다.
시작 시 터미널을 구체적으로 열려면 스크립트에서 다음과 같이 수행하도록 할 수 있습니다.
xterm -e 'bash -c "echo My startup message;sleep 10"'
답변2
~/.bashrc
이 에코를 또는 에 추가하면 어떨까요 ~/.bash_profile
?
더 많은 정보를 원하시면 방문해주세요.bashrc 및 .bash_profile에 대한 설명
~/.bashrc 및 ~/.bash_profile은 bash가 호출될 때 실행될 수 있는 스크립트입니다. 다음 명령으로 bash를 실행하면 ~/.bashrc 파일이 실행됩니다.인터렉티브로그인 쉘이 아닌 쉘. ~/.bash_profile에서만 가능로그인껍데기.