GUI에서 시스템 콘솔 메시지보기


10

Linux에서는 매번 메시지를보기 위해 Ctrl+ Alt+ F1또는 Ctrl+ Alt+ F2를 누른 다음 Ctrl+ Alt+ 를 눌러 GUI 모드로 다시 전환하는 대신 GUI 모드에서 텍스트 모드 터미널에 표시되는 오류 메시지 를 볼 수 있습니다 F7?

감사합니다.


나는 그 질문의 주제를 분명히했다. Bash는 Linux를위한 다양한 쉘 중 하나 일뿐입니다. 메시지는 쉘 자체가 아닌 bash가 실행중인 엔티티로 전송됩니다.
fschmitt

/ var / log / "blah"에 액세스하여 해당 로그를 읽을 수 없습니까? 부팅 과정에 있다고 가정하면 /var/log/boot.log
vfbsilva를

답변:


6

/dev/tty1파일에서 텍스트 콘솔의 현재 내용을 볼 수 있습니다 /dev/vcs1(여기서 1은 Ctrl+ Alt+ 의 숫자 임 F1). (에서 읽으려고하면 /dev/tty1키보드 입력을 위해 실행되는 프로그램과 경쟁하게됩니다.) vcs 장치는 일반적으로 루트 만 읽을 수 있습니다. 스냅 샷을 얻습니다. 컨텐츠를 얻을 수있는 편리한 방법은 없습니다.

ttysnoop의 프로그램은 (X 터미널을 포함한) 다른 터미널에서 콘솔에 트래픽을 볼 수 있습니다. 그러나 이것은 미리 설정해야합니다.


텍스트 콘솔에서 메시지가 출력 될 때 메시지를 포착하는 대신 메시지를 다른 위치로 보내도록하십시오. 이러한 콘솔 출력의 대부분은 시스템 로그의 파일 아래에 /var/log있습니다. X (예 : 그래픽 모드) xconsole에서 표준 X 배포의 일부인을 사용하여 이러한 메시지를 포착 할 수 있습니다 .

경우 xconsole이 메시지에서 오는 원하는 메시지 언급에 편집 질문을 표시하지 않습니다.

xconsole메시지를 표시 할 수없는 경우 정확한 운영 체제, 수행 한 구성 단계 및 오류 메시지가 포함되도록 질문을 편집하십시오.


메시지가 시스템 로깅 기능이 아닌 텍스트 모드 콘솔에서 시작한 프로그램에서 오는 경우 리디렉션 을 사용하는 것이 좋습니다 . 다음과 같이 프로그램을 시작하십시오 :

mv ~/.myprogram.log ~/.myprogram.log.old
myprogram --with arguments 2>&1 >~/.myprogram.log

그런 다음 파일을 찾아 어디에서나 프로그램의 출력을 읽을 수 있습니다 ~/.myprogram.log. 특히 파일이 실시간으로 커지는 것을 확인하려면 다음을 실행하십시오.

tail -n +1 -f ~/.myprogram.log

프로그램이 X 시작 스크립트에 의해 시작되면 전체 X 시작 시퀀스의 출력을 파일로 경로 재지 정하는 것이 좋습니다. 실제로 많은 배포판에서이 작업을 자동으로 수행합니다. .xinitrc또는 .xsession파일을 사용하는 경우 파일 시작 부분에 다음 줄을 추가하여 후속 프로그램의 출력을 리디렉션하십시오.

exec >"$HOME/.xsession-$DISPLAY.log" 2>&

감사합니다. 나는 단순히 su -c "cat / dev / vcs1"을했는데 효과가 있었다. 당신이 언급 한 것처럼 콘솔에서 메시지의 간단한 스냅 샷 이었지 만 그것이 전부였습니다.
Jay

@Jay : 이제 귀하의 의견을 보았으므로 다른 대답이 있습니다. 즉, X 시작 스크립트에서 리디렉션을 사용해야한다는 것입니다. 다른 사람들이 질문 보관소를 탐색하는 데 유용 할 수 있기 때문에 다른 가능성을 떠납니다.
Gilles 'SO- 악마 중지

1

이를 위해 xconsole을 사용할 수 있습니다. 설명에서 :

xconsole 프로그램은 일반적으로 / dev / console로 전송되는 메시지를 표시합니다.

배포판에서 선택한 구성에 따라 루트로 시작해야 할 수도 있습니다 (예 : sudo xconsole각각 su -c xconsole).


감사합니다. 그러나 X를 시작한 후 콘솔에 이미있는 메시지를 볼 수있는 방법이 있습니까? 예를 들어, 내 상황에서 .. 나는 배경 화면을 무작위로 변경하기 위해 파이썬 스크립트를 작성했습니다. 그리고 X를 시작할 때마다 스크립트가 호출되도록 설정했습니다. 그러나 스크립트는 내가 원하는 방식으로 작동하지 않으며 콘솔에 몇 가지 오류 메시지가 나타납니다. X에 들어간 후 xconsole을 시작하면 해당 시점부터 콘솔로 전송 된 메시지 만 볼 수 있습니다. xconsole 매뉴얼 페이지는 콘솔에 이미 존재하는 메시지를 보는 것에 대해 아무 말도하지 않습니다
Jay

모든 터미널 창 (예 : xterm)에서 dmesg 명령을 사용하여 부팅 중에 인쇄 된 메시지를 표시 할 수 있습니다.
fschmitt

dmesg는 부팅 중에 나타나는 메시지 만 표시합니다. 부팅 및 로그인 후 "startx"를 수행 한 후 콘솔에 나타나는 메시지가 표시되지 않는다고 생각합니다.
Jay

1

시도 했습니까 xterm -C? 우분투 17.04에서 작동합니다.


1
설명할만한 말이지 만, Erik이 문맥을 추가한다면, 그럴듯한 대답이 될 것 같습니다 : "-C이 옵션은이 창이 콘솔 출력을 받아야 함을 나타냅니다. 모든 시스템에서 지원되는 것은 아닙니다. ...."
Jeff Schaller

공정한 포인트. 다음에 나는 그것을 주석으로 만들 것이다. 불편을 드려 죄송합니다.
Erik Bennett

-4

콘솔 메시지를 보려면 /etc/rc.local의 끝에 놓을 수 있습니다.

sleep 60

2
OP는 GUI를로드 한 후 메시지를 보려고합니다 . 이렇게하면 로딩하기 전에 시스템이 잠시 기다릴 수 있으므로 솔루션이 아닙니다.
terdon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.