범용 X11 프로그램이 있나요?

범용 X11 프로그램이 있나요?

echo또는 cat범용 터미널 프로그램으로 생각할 수 있습니다 . 맹목적으로 다음을 호출할 수 있습니다.

echo "hello world"

예를 들어 bash에서는 작동합니다. 출력이 표시됩니다.

나는 (다시 맹목적으로) 입력할 수 있고 사용자가 X11에서 작업하고 있다고 가정하면 시각적 출력을 볼 수 있는 X11과 유사한 것을 찾고 있습니다(그래서 X11을 감지하는 방법을 묻지 않고 작동한다고 가정합니다). ).

X11 하위 시스템을 bash에서 호출할 수 있는 경우 X11 명령일 수도 있습니다(예: 닫기 버튼이 있는 기본 창 생성). 나는 다음과 같은 문제에 대해 말하는 것이 아니라는 점에 유의하십시오.https://stackoverflow.com/questions/7035/how-to-show-a-message-box-from-a-bash-script-in-linux의심의 여지없이 유용한 "zenity"와 같은 도구는 기본적으로 설치되지 않기 때문입니다.

중요: 내구성이 있는 것, 즉 전원이 꺼지거나 사용자가 명시적으로 닫을 때까지 유지되는 것이 필요합니다.

답변1

실제로 그런 순서는 없습니다. 불가능합니다(합리적인 범위 내에서). 예를 들어, 사용자가 전체 화면 애플리케이션을 사용하고 있는데 복합 창 관리자가 그 위에 아무 것도 배치하는 것을 거부할 수 있습니다(전체 화면 경험이 중단될 수 있기 때문입니다).

물론 맹목적으로 입력하는 것은 작동하지 않습니다. 터미널이 초점을 맞추지 못할 수도 있습니다. 터미널 대신 Stack Exchange 응답에 멋진 명령을 입력하게 될 수도 있으며 당연히 실행되지 않습니다.

명령을 원하면 실행할 수 있습니다아마도Xorg와 함께 제공되는 기본 항목을 보여주는 것은 좋은 추측입니다: xlogo, xev, xfd, 등 xmessage. xeyes이 중 xmessagezenity와 약간 비슷하지만 더 독창적이고(그러나 설치가 더 쉬울 수도 있음) xeyes확실히 사용자의 관심을 끌 것입니다. 쉘 스크립트에서는 "설치되지 않음"(종료 코드 127)을 감지하고 목록에서 다른 것을 시도할 수 있다는 점을 기억하십시오.

전하고 싶다면효과가있다사용자에게 정보를 제공하고 사용자가 최신 데스크톱 환경을 사용하고 있는 경우 가장 좋은 옵션은 notify-send(libnotify의 일부)를 사용하여 데스크톱 알림을 보내는 것입니다. 이는 사용자가 닫을 때까지 지속되어야 합니다.

관련 정보