Linux 로그인 화면에서 프로그램 실행

Linux 로그인 화면에서 프로그램 실행

Linux 장치를 부팅할 때 장치의 로그인 화면이 나타날 때(또는 그 전에) 프로그램을 실행하고 싶습니다. 가장 큰 문제는 사용자 로그인 없이 애플리케이션을 실행하는 것입니다. 예를 들어 Java JFrame Forms 또는 Python tkinter)

사용자가 로그인하지 않고도 애플리케이션을 열 수 있나요?

crontab을 사용해 보았지만 성공하지 못했습니다. 해결책은 "init.d"일지도 모른다고 생각하여 이것을 시도했지만 내 라즈베리 파이에서는 실행할 수 없습니다. Java 또는 Python에서 init.d를 사용하는 방법을 잘 모르겠습니다.

사실 제가 사용하고 싶은 기기는 Jetson Nano 입니다. (현재 라즈베리파이가 없어서 라즈베리파이를 사용하고 있습니다.) 라즈베리파이에서 작동하지 않는 기능이 젯슨 나노에서는 작동할지 궁금합니다. 아니면 이것 말고도 다른 해결책이 있나요?

감사해요.

답변1

예, 해당 목적에 맞는 사용자 계정으로 실행하고 로그인하지 않고도 로컬 GUI 디스플레이에서 사용하도록 애플리케이션을 설정하는 것이 가능합니다. 이를 "키오스크 설정" 또는 "키오스크 모드"라고 합니다.

Google "라즈베리 파이 키오스크 모드"를 사용하면 많은 예를 찾을 수 있습니다. 대부분은 chromium-browser창 관리자 기능이 제한된 고정된 전체 화면 모드에서 실행되도록 구성되어 있지만 대신 다른 GUI 프로그램을 사용할 수 있습니다. ( unclutter마우스 포인터를 숨길 필요가 없다면 생략해도 됩니다.)

일반적으로 단일 계정에 대해 GUI 자동 로그인을 설정하고 미니멀리스트 창 관리자에서 애플리케이션을 실행하도록 구성하는 것이 가장 쉽습니다.

소프트웨어의 양을 더욱 줄이고 싶다면 이것이 어떻게 startx작동하는지 연구하고 사용자 정의 init.d스크립트를 작성하여 이들 중 하나를 사용 startx하거나 xinit창 관리자가 전혀 없거나 X11 서버와 응용 프로그램을 함께 시작할 수도 있습니다. 적절하게 구성된 미니멀리스트 창 관리자. 이것은 더 어려운 접근 방식이겠지만, 그 과정에서 X11 세션 설정의 복잡성에 대해 많은 것을 배우게 될 것이 거의 보장됩니다.

GUI 로그인 화면에 무언가를 표시하고 싶다면일반 로그인 대화상자 옆그런 다음 X 디스플레이 관리자 서비스에 대한 GUI 세션 시작 스크립트를 찾아서 로그인 대화 상자 표시를 준비하기 위해 응용 프로그램을 시작하도록 사용자 정의해야 합니다. 예를 들어 를 사용하여 gdm3로그인 화면의 올바른 위치에 콘텐츠를 추가합니다 /etc/gdm3/Init/Default.

보안상의 이유로 로그인 화면에서 로그인 세션으로 또는 그 반대로 전환할 때 디스플레이 관리자가 X11 서버를 재설정하려고 할 수 있으므로 로그인 화면에서 애플리케이션을 시작하고 로그인 세션을 갖지 못할 수도 있습니다. 이에 대한 액세스는 세션 전반에 걸쳐 "상속"됩니다. GUI 로그인 시퀀스의 일부로 애플리케이션을 다시 시작해야 할 수도 있습니다.

관련 정보