원격 디스플레이를위한 wmctrl -c “DISPLAY : 50 wmtrl

다른 디스플레이에 wmctrl을 사용하려면 명령 행이 무엇입니까?

su username -c “DISPLAY : 50 wmtrl -r : ACTIVE : -b toggle, fullscreen”이 작동하지 않습니다.

감사합니다-우분투 12.04를 실행 중입니다.



답변

위의 명령이 작동하지 않는 데는 몇 가지 이유가 있습니다.

  1. 그것은해야한다 wmctrl, wmtrl 없습니다.

  2. 그것은해야한다

           su -c command username
    

    대신에 su username-c command

  3. 이 할 수 없는 다른 사용자의 세션에 활성 창이합니다.

  4. 그러나 가장 중요한 것은 suGUI 내에서 현재 텍스트 창의 사용자를 다른 창이 아니라 전환하도록 설계되었습니다. 예를 들어 su 매뉴얼 상태는 다음과 같습니다.

… su가 터미널 창 (즉, GUI의 텍스트 전용 창)에서 사용될 때 터미널 창과 터미널 창에서 시작된 프로그램 만 새 사용자 계정 (예 : root)으로 실행됩니다. .

당신이 생각하는 것과 같은 것을 수행하는 올바른 방법은 다른 사용자의 X 서버와 대화하는 것입니다. 그러나 모든 X 세션이 잘 갖추어져 있습니다. 예를 들어, ssh사용자 A로 원격 시스템에 로그인 한 경우 B는 다음을 통해이를 수행 할 수 있어야합니다.

     xhost +

그런 다음 자신의 X 세션에 액세스 할 수 있습니다.

    export DISPLAY=:0.0

그리고 지금 당신의 명령,

     wmctrl -r :ACTIVE: -b toggle,fullscreen

작동합니다.

터미널을 다른 사용자와 공유하여 입력 한 내용을 볼 수 있도록하려면을 설치 screen하고 세션을 시작 screen하고 이스케이프 시퀀스 Ctrl + A를 누른 다음 두 명령 multiuser on및을 지정해야 acladd B합니다. 이제 사용자 B는을 통해 화면 세션에 참여할 수 있습니다 screen -x A/.

마지막으로, 귀하의 질문은에 관한 것 같습니다 multi seat arrangement. 이것은 매우 드물며 해결책을 테스트 할 것이 없습니다. 실제로 이러한 상황 중 하나에 있습니까? 그렇다면 자주 사용하지 않는 구성에 대한 지식이 필요하므로 OP 제목에 지정하는 것이 좋습니다.

그러나 어떤 경우에, 가장 가능성이 , 당신은에서와 동일한 방법으로이를 수 (= I 멀티 좌석에서이를 테스트하기 위해 배열이없는) ssh령 어를 실행해야합니다이 경우 사용자 B에 연결 execpt 것을 :

     xhost +SI:localuser:A

그의 디스플레이에 대한 액세스 권한을 부여합니다.


답변