Linuxpia/리눅스 사용 팁

로그인 쉘(login shell)과 비로그인 쉘(non-login shell)

Linuxpia4U 2024. 4. 15. 03:54
반응형

로그인 쉘(login shell)과 비로그인 쉘(non-login shell)

로그인 쉘(login shell)과 비로그인 쉘(non-login shell)은 사용자가 시스템과 상호작용하는 방식에 따라 구분됩니다. 주요 차이점은 초기화 파일이 실행되는 시점과 종류에 있습니다.

로그인 쉘

로그인 쉘은 사용자가 시스템에 로그인할 때 시작되는 쉘입니다. 예를 들어, 텍스트 기반 인터페이스에서 사용자 이름과 비밀번호를 입력하여 접속하거나, 그래픽 사용자 인터페이스에서 터미널 에뮬레이터를 통해 로그인 세션을 시작할 때 로그인 쉘을 사용합니다.

로그인 쉘의 초기화 파일

  • /etc/profile : 시스템 전체 설정을 위한 파일로, 모든 사용자에게 영향을 줍니다.
  • ~/.bash_profile, ~/.bash_login, ~/.profile : 이 파일들 중 존재하는 첫 번째 파일만 실행되며, 사용자별 환경 설정을 위한 것입니다.

비로그인 쉘

비로그인 쉘은 로그인 과정 없이 실행되는 쉘로, 예를 들어 이미 로그인한 상태에서 새 터미널 창을 열거나 스크립트를 실행할 때 사용됩니다.

caption: 비로그인 쉘 실행

 

비로그인 쉘에서는 ~/.bashrc 파일이 실행됩니다. 이 파일은 사용자별 설정을 담고 있으며, 주로 쉘 프롬프트, 함수, alias 설정, 환경 변수 등을 설정하는 데 사용됩니다.

사례

  1. 로그인 쉘 사례
    • 원격으로 서버에 SSH(Secure Shell)를 통해 로그인하는 경우, 사용자는 로그인 프로세스를 완료하고 로그인 쉘이 활성화됩니다. 이때 ~/.bash_profile 또는 관련 파일이 소스되어 사용자 환경이 설정됩니다.
  2. 비로그인 쉘 사례
    • 사용자가 이미 로그인한 상태에서 GNOME, KDE, Xfce와 같은 그래픽 데스크톱 환경 내에서 터미널을 열거나 "Ctrl+Alt+T" 단축키를 사용할 때 비로그인 쉘이 시작됩니다. 이 경우 ~/.bashrc가 소스됩니다.

정리

로그인 쉘은 사용자가 시스템에 처음 로그인할 때 실행되며, 사용자별 환경 설정을 위한 파일들이 실행됩니다. 반면 비로그인 쉘은 이미 로그인한 상태에서 새 쉘 세션을 시작할 때 사용되며, 주로 ~/.bashrc 같은 파일에 의해 사용자별 설정이 이루어집니다. 이 두 쉘 유형의 구분은 사용자가 시스템과 상호작용하는 방식에 따라 환경이 어떻게 초기화되고 구성되는지를 결정합니다.

반응형