로그인하기 전에 실행될 때 텍스트를 표시하는 프로그램 실행

로그인하기 전에 실행될 때 텍스트를 표시하는 프로그램 실행

그래서 C언어로 간단한 UI를 작성했습니다. 읽기 전용이며 디스크 공간, 네트워크 정보 등 시스템 정보를 표시합니다.

저는 우분투 서버 14.04를 실행하고 있으며 현재 장치가 부팅될 때 클래식 우분투 텍스트 로그인 및 비밀번호 프롬프트가 표시됩니다. 대신, 나는 내 프로그램 실행 파일(gcc로 컴파일된)이 로그인 프롬프트 전에 실행되고 표시되기를 원합니다. 가장 좋은 접근 방식은 무엇입니까?

"용어"가 부족함을 양해해 주시기 바랍니다. 저는 이 분야에 비교적 새로운 사람이고 쉘 스크립트에 대한 경험이 많지 않습니다. 이 질문에 답변하기 위해 추가 정보가 필요하면 알려주시기 바랍니다. 나 자신도 표현에 어려움을 겪고 있다. :) 미리 감사드립니다!

편집: 사진을 통해 아이디어를 얻으세요. 여기에 비슷한 것이 있습니다. 비록 아이디어를 보여주기 위해 인터넷 검색 중에 찾은 것일 뿐입니다.

편집 2: 사용자가 로그인하기 전에 TUI를 표시하는 것이 더 좋지만 실제로는 사용자에게 로그인 및 비밀번호를 묻는 메시지를 표시하기 전인지 후인지는 중요하지 않습니다. 여기에 이미지 설명을 입력하세요.

답변1

텍스트 콘솔에 사용자가 로그인하기를 기다리는 프로그램을 흔히게티. (그런데 GUI 로그인에 해당하는 프로그램 종류는디스플레이 관리자) 이것은 또한 사용자 이름을 묻는 프로그램입니다. 비밀번호를 묻는 프로그램은 입니다 login. getty에는 여러 가지 구현이 있습니다. Ubuntu 14.04의 기본값은 다음과 같습니다.아지티.

귀하의 경우 가장 간단한 해결책은 agetty에게 1. 사용자 이름을 묻는 메시지를 표시하지 말고, 2. 프로그램을 실행하는 스크립트를 호출한 다음 전화를 걸어 사용자 이름 프롬프트를 표시하도록 login지시하는 것입니다.login

스크립트:

#!/bin/sh
yourprogram
exec /bin/login

getty 구성 방법: /etc/init/tty1.conf다른 콘솔에 대해 유사한 파일을 편집합니다. 줄을 exec다음으로 변경하십시오.

exec /sbin/getty -l /path/to/script --skip-login -8 38400 tty1

또 다른 가능성은 getty가 파일을 표시한다는 사실을 이용하는 것입니다./etc/issue로그인 프롬프트 전에. 자주 변경되지 않는 텍스트만 표시하려면 해당 텍스트를 쓸 수 있습니다 /etc/issue.편곡 파일에는 동적 콘텐츠가 있습니다., 이는 getty 호출을 변경하는 것보다 조금 더 어렵습니다. 그러나 SSH와 같은 다른 로그인 서비스에서도 작동합니다.

관련 정보