cssh: 터미널을 xterm에서 터미네이터로 변경

cssh: 터미널을 xterm에서 터미네이터로 변경

기본 에뮬레이터 대신 터미널 에뮬레이터를 cssh사용 하고 싶습니다 . 다음 줄을 변경했습니다.terminatorxterm~/.clusterssh/config

#terminal=/usr/bin/xterm
terminal=/usr/bin/terminator

하지만 시작하면 cssh다음과 같은 오류가 발생합니다.

Opening to: server1 server2
Usage: terminator [options]

terminator: error: no such option: -g
Usage: terminator [options]

terminator: error: no such option: -g
Cannot open pipe for reading when talking to server1 : Interrupted system call

분명히 cssh일부 매개변수가 에 전달되고 있지만 인식하지 못합니다 xterm.terminator

이 문제를 어떻게 해결할 수 있나요?

답변1

터미네이터가 합성 이벤트를 받아들일지 의심스럽고 창 모델당 여러 터미널이 호환되지 않는다고 생각하기 때문에 작동하지 못할 수도 있다고 생각합니다. 그러나 최상의 소스를 시도하고 싶다면 README.Debian.gz입니다. 데비안 패키지에서. 아래에 관련 부분을 포함시켰지만 터미네이터의 그룹화 옵션을 사용하는 것이 훨씬 더 간단할 수도 있습니다.

Super+g: 터미널 중 하나로 전송된 입력이 모든 터미널로 전송되도록 모든 터미널을 그룹화합니다.(맨 페이지에서)


터미널 에뮬레이터

Clusterssh는 x-terminal-emulator를 제공하는 Debian 터미널 에뮬레이터의 사용을 더 이상 허용하지 않습니다. 그 중 다수가 XSendEvents 리소스를 지원하지 않기 때문입니다. 기본적으로 Clustersh는 xterm을 호출합니다. 이 설정을 변경하려면 다음 줄을 포함하도록 구성 파일을 만들거나 수정하세요.

    terminal = /path/to/my/favorite/terminal-emulator

이 터미널 에뮬레이터는 XTerm.VT100.allowSendEvents:true(또는 동일한 작업을 수행하는 항목)를 설정하려면 "-xrm" 명령줄 스위치를 허용해야 합니다. 터미널 에뮬레이터가 다른 스위치를 통해 동등한 기능을 제공하거나 암시적으로 제공하는 경우 구성 파일의 "terminal_allow_send_events" 매개변수를 사용하여 설정할 수 있습니다.

uxterm과 함께 Clustersh를 사용하는 데 문제가 있는 경우 구성 파일에서 "terminal_allow_send_events" 옵션을 제거하거나 값을 다음과 같이 업데이트해야 합니다.

  UXTerm.VT100.allowSendEvents:true

또는 간단하게:

  *.VT100.allowSendEvents:true

이전 버전의 Clustersh는 클래스가 "XTerm"으로 설정된 .csshrc 파일을 생성하여 uxterm이 이벤트를 수신하지 못하게 합니다.

터미널 에뮬레이터는 다음도 허용해야 합니다.

    -e <command>
    -font <font>
     System-wide configure changes can be made by editing /etc/csshrc.

Debian 터미널 에뮬레이터 패키지는 테스트되었으며 Clustersh에서 작동하지 않는 것으로 알려져 있습니다.


(업데이트 내용은 관리자에게 직접 보내거나 버그 추적 시스템을 통해 보내주세요)

그놈 터미널 콘솔 kterm xvt xfce4 터미널 mlterm

테스트를 거쳐 작동하는 것으로 알려진 데비안 터미널 에뮬레이터 패키지:


xterm rxvt rxvt-beta aterm(~/.clusterssh/config에서 "terminal_allow_send_events="만 사용) wterm(~/.clusterssh/config에서 "terminal_allow_send_events="만 사용) pterm(출력이 표시되기 전에 입력 포커스가 필요하지만) eterm(-font 스위치를 사용하지 않지만)

백그라운드로 즉시 이동하는 lxterm 및 uxterm과 같은 xterm 래퍼는 작동하지 않습니다.

스크립트를 사용하여 터미널을 생성하는 경우 $*를 매개변수로 허용하고 자체적으로 배경을 설정하지 않는지 확인하세요.

답변2

s(기본 또는 하드와이어) 매개변수를 terminator허용 하지 않는 것 같습니다 . cssh이를 변경하려고 시도하는 대신 종료자 시작을 위한 래퍼를 만듭니다.

cat > /usr/bin/start_terminator.sh
#!/bin/bash
# debug info: dump parameters
echo "start_terminator.sh called with paremeters: ${@}" > /tmp/start_terminator.sh.cmdline
# now start terminator avoiding invalid parameters given by cssh
exec /usr/bin/terminator
^D

(^D는 Ctrl+D로 키보드 입력 및 cat명령 종료)

chmod 755 /usr/bin/start_terminator.sh

이 변경 후에 종결 terminal=/usr/bin/terminator자가 시작되지 않으면 디버그 출력을 확인하여 종료할 때 전달해야 하는 매개변수가 있는지 확인하십시오.terminal=/usr/bin/start_terminator.sh~/.clusterssh/config/tmp/start_terminator.sh.cmdline/usr/bin/terminatorexec

답변3

~에 따르면manual for cssh여기에는 다음과 같은 내용이 있습니다.

--tile,-g|--no-tile,-G 활성화|창 타일링 비활성화(구성 파일 재정의)

그렇긴 하지만, window tiling옵션을 비활성화한 다음 확인하는 것이 좋습니다.manual for terminator창문 타일에 관해 이런 말이 있습니다.

--geometry=GEOMETRY 종료자 창의 기본 크기와 위치를 지정합니다. x(7)을 참조하세요.

터미널을 전환하려면 몇 가지 일반적인 구성 옵션이 필요한 것 같습니다 cssh.

관련 정보