로그인 시 메시지를 어떻게 표시하나요?

로그인 시 메시지를 어떻게 표시하나요?

로그인 시 메시지를 표시하려고 합니다.리눅스 민트 17.2. 나는 성공하지 못한 채 다양한 방법을 시도했습니다.

/home/myusername/Desktop/startup-message.sh1) 아래와 같이 파일을 만들었습니다 .

#!/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에서만 가능로그인껍데기.

관련 정보