How IT

언제든지 물어보세요.

컨텐츠로 건너뛰기
  • 홈
  • Unix
  • Apple
  • Java
  • Android
  • C#
  • C++

사용자 로그온시 명령 실행 시스템은 사용자

Linux 데스크톱 시스템에서 사용자가 로그인 할 때 명령을 실행하고 싶습니다.

다른 게시물을 읽은 후 명령을 삽입하려고 ~/.bashrc했지만 실패했습니다. 또한 시스템은 사용자 로그인에 그래픽 인터페이스를 사용하므로 명령이 쉘의 시작과 관련되어서는 안됩니다.

또한 /etc/profile.d결과없이 포함 된 스크립트 중 하나에 명령을 추가하려고했습니다 .

다른 방법이 있습니까? 로그인 후 시스템이 읽는 파일이 있습니까?



답변

그래픽 디스플레이 관리자가 클래식 시작 파일을 읽을 것이라는 보장은 없습니다. 이것은 배포판과 디스플레이 관리자간에 변경됩니다. 그래도 다음 중 하나가 작동합니다.

  1. 데스크탑 환경의 기본 방법을 사용하여 시작 응용 프로그램을 설정하십시오. 세부 사항은 사용중인 DE에 따라 다르지만 명령을 실행하고 시작 애플리케이션 목록에 추가하는 스크립트를 작성할 수 있습니다. 예를 들어, 내 시스템 (Cinnamon)에서 “System Settings”=> “Startup Applications”를 통해이를 수행 할 수 있습니다.

  2. 를 사용하십시오 ~/.xprofile. 이는 최소한 GDM, LDM, LightDM 및 LXDM 로그인 관리자가 제공합니다.

  3. 위의 방법으로도 작동하지 않으면 다음 명령을 추가하십시오 ~/.profile: 이것은 로그인 쉘의 기본 초기화 파일이며 로그인시 일부 그래픽 쉘에서도 읽습니다.

  4. @derobert이 의견에서 지적했듯이 무료 데스크톱 표준을 사용할 수도 있습니다 .

    자동 시작 디렉토리는 “데스크톱 기본 디렉토리 사양”의 “이 사양 참조”섹션에 따라 정의 된 $ XDG_CONFIG_DIRS / autostart입니다.

    동일한 파일 이름이 여러 자동 시작 디렉토리 아래에있는 경우 가장 중요한 디렉토리 아래의 파일 만 사용해야합니다.

    예 : $ XDG_CONFIG_HOME이 설정되지 않은 경우 사용자 홈 디렉토리의 자동 시작 디렉토리는 ~ / .config / autostart /입니다.

    예 : $ XDG_CONFIG_DIRS가 설정되지 않은 경우 시스템 전체 자동 시작 디렉토리는 / etc / xdg / autostart /입니다.

    예 : $ XDG_CONFIG_HOME 및 $ XDG_CONFIG_DIRS가 설정되지 않고 /etc/xdg/autostart/foo.desktop 및 ~ / .config / autostart / foo.desktop 파일 두 개가 존재하면 ~ / .config / autostart / foo 파일 만 있습니다. ~ / .config / autostart /가 / etc / xdg / autostart /보다 중요하므로 desktop이 사용됩니다.

은 ~/.bashrc너무 그래픽 여부, 로그인 쉘에 무시되고, 그것은 단지 대화 형 비 로그인 쉘에 의해 읽기, 여기에 완전히 무관하다.


답변

다른 옵션은 pam을 사용하는 것입니다. 그러면 로그온 작업을 정의 할 수있는 정확한 방법이 제공됩니다.

일반적인 작업의 경우 pam_exec ( http://manpages.ubuntu.com/manpages/hardy/man8/pam_exec.8.html ) 를 사용할 수 있습니다 . 그러나 안전한 방법으로보다 구체적인 작업을 수행해야하는 경우 일반적으로 사용되는 pam_mount (온-로그인 마운트 -http : //manpages.ubuntu) 와 같이보다 적합한 pam 모듈이 더 적합 할 수 있습니다. COM / 맨 / 강건한 /는 man8 / pam_mount.8.html ) 또는 pam_echo (임의의 메시지에 대한 사용자 – http://manpages.ubuntu.com/manpages/hardy/man8/pam_echo.8.html ).

일반적으로 pam은 로그인을 사용자 정의하기위한 매우 깔끔한 시스템이므로 다른 사람들이 제안한 것처럼 잠재적으로 안전하지 않은 스크립팅에 의존하는 대신 조금 더 살펴볼 수 있습니다.

예

상당히 일반적인 /etc/pam.d/system-auth가 주어지면 다음과 같이 로그인 후 pam_exec를 사용할 수 있습니다.

session         optional        pam_ssh.so
session         required        pam_limits.so
session         required        pam_env.so
session         optional        pam_mktemp.so
session         required        pam_unix.so
session         optional        pam_exec.so /usr/local/bin/my_prog
session         optional        pam_permit.so

어디 /usr/local/bin/my_prog성공적인 사용자 로그인 후에 실행되는 임의의 프로그램입니다.


답변

이 주제에 따르면 : 로그인 후 자동으로 명령을 실행 하시겠습니까?

당신은의 솔루션이 .bashrc시작 응용 프로그램의 (안 당신이 필요) 및 솔루션을. 나는 Daniel S를 인용한다.

gnome-session-properties 시작 응용 프로그램을 구성하는 데 사용할 수 있습니다.

또한 시스템 부팅시 응용 프로그램을 실행하려면 crontab에 다음과 같은 규칙을 추가 할 수 있습니다 (crontab으로 편집 crontab
-e
).

@reboot /run/this/program/at/boot >/dev/null 2>&1

답변


이 글은 Unix 카테고리에 분류되었고 login, scripting, shell 태그가 있으며 소장 마님에 의해 2022-02-02에 작성되었습니다.

글 네비게이션

← 터미널 대. 쉘 [중복] 휴일 9 비 명령 줄 텔넷 서버 응용 프로그램 (이 경우 VLC)의 새 인스턴스를 →

태그

  • android
  • apt
  • bash
  • boot
  • c#
  • c++
  • code-golf
  • command-line
  • debian
  • firefox
  • git
  • google-chrome
  • hard-drive
  • html
  • java
  • keyboard
  • linux
  • mac
  • macos
  • math
  • memory
  • microsoft-excel
  • mysql
  • networking
  • performance
  • permissions
  • python
  • r
  • regression
  • security
  • shell
  • sql-server
  • ssh
  • string
  • terminal
  • ubuntu
  • unity
  • usb
  • vim
  • virtualbox
  • windows
  • windows-7
  • windows-8
  • windows-10
  • windows-xp

최신 글

  • Windows에서 파티션 크기를 조정 한 후 APFS 파티션이 손실 됨 00 80
  • App Store에서 El Capitan을 강제로 다시 다운로드 하시겠습니까? 업데이트 된 플래시 드라이브 설치 프로그램을 빌드하기
  • 기존 시스템에 부팅 드라이브로 SSD 추가 백업에 큰 관심이 없습니다. 내가 걱정하는 것은이
  • geoJSON featureCollection에 properties 요소를 갖는 것이 유효합니까?
  • 추세를 식별하기 위해 신호 처리 원리를 신중하게 사용 매우 시끄러운 장기 데이터에서 추세를

카테고리

  • Android
  • Apple
  • C#
  • C++
  • cooking
  • cs
  • cstheory
  • diy
  • drupal
  • electronics
  • emacs
  • Gis
  • Git
  • Html
  • Java
  • Javascript
  • magento
  • photo
  • Python
  • raspberrypi
  • scicomp
  • Server
  • Software
  • Sql
  • stats
  • Superuser
  • ubuntu
  • Unix
  • vi
  • webapps
  • webmasters
  • wordpress
  • 게임개발
  • 코딩
Proudly powered by WordPress
Go to mobile version