Guake 탭의 이름을 변경하여 현재 명령을 표시 할 수 있습니까?


13

나는 guake를 매우 많이 사용하며 어느 시점에서든 3 대 이상의 컴퓨터에 ssh를 넣습니다. 또한 일부 탭 (터미널)에서 데몬을 실행하고 있습니다. 내가 알고 싶은 것, 현재 명령의 이름을 터미널의 이름으로 가질 수 있습니까? 탭을 마우스 오른쪽 버튼으로 클릭하고 이름을 변경하면 다음이 발생합니다. (터미널 5 다음에 탭을보십시오)

터미널 5 뒤의 탭을보십시오

감사.


현재 디렉토리의 약어를 탭 제목으로 표시하려면 관련 질문에 대한 내 대답 을 참조하십시오 .
krlmlr

"현재 명령"이란 무엇입니까? 각 터미널에서 항상 명령이 실행됩니까? 실행중인 항목이없는 경우 제목은 무엇입니까?
rubo77

답변:


4

이것은 구 아크 (0.4.1) 버그입니다. 저자는 이것이 최선의 방법이 아니라고 말하지만이 버그 보고서를 통해이 문제를보고 해결합니다 : https://github.com/Guake/guake/issues/205

탭 레이블 (라인 986)을 설정하는 코드가 실제로 문제를 해결 한 후에 대화 상자 삭제 코드 (guake.py 라인 983)를 아래로 이동시키는 것으로 나타났습니다. 그래서 나를 위해 작동하는 코드는 다음과 같습니다

    response = dialog.run()
    # dialog.destroy() 

    if response == gtk.RESPONSE_ACCEPT:
        self.selected_tab.set_label(entry.get_text())

    dialog.destroy()

어쩌면 gtk와 대화 상자에 문제가있을 수 있지만 버전 0.4.1 diff에서 gtk와 연결된 코드 변경 사항을 찾지 못했습니다.

편집 : guake 0.4.2는 탭 이름을 올바르게 변경할 수 있습니다


1
이 질문에 대답하지 않습니다
phil294

3

이것이 Guake에 작동하는지 확실하지 않으며 대부분의 터미널 에뮬레이터에 작동합니다. 터미널 제목을 변경하기 위해 스크립트에 에코를 포함시킬 수 있습니다.

echo -ne "\033]0;your_title_here\007"

터미널에 입력했을 때 작동하지 않았습니다.
theTuxRacer

1
쉘의 프롬프트는 일반적으로 현재 작업 디렉토리로 설정하기 때문입니다. PS1 변수를 확인하십시오.
ak2

우분투 15.10에서도 작동하지 않습니다. 나는 이것이 이것을 해결하는 데 도움이되는 echo $PS1것과 같은 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$것을 보여 주었다.
rubo77

3

해킹 비트이지만 현재 터미널의 이름을 원하는대로 바꿉니다.

function ssh() {
    guake -r "$@";
    /usr/bin/ssh $@
}

또한 PROMPT_COMMAND를 업데이트하면 매번 터미널 이름을 업데이트하는 기능이 있습니다. 명령이 실행 된 후에 만 ​​이름이 변경되므로 ssh 문제에는 작동하지 않습니다.

예 :

export PROMPT_COMMAND=renameTerminal

function renameTerminal() {
    guake -r "$SOMENAME";
}

2

Guake에서 탭 이름을 변경하려면 탭 이름을 마우스 오른쪽 버튼으로 클릭하고 이름 바꾸기를 마우스 왼쪽 버튼으로 클릭하십시오. 새 이름을 입력 할 수있는 팝업 상자가 열립니다.


확실하지만 스크립트에 어떻게 추가 할 수 있습니까?
rubo77

1

당신은 단순히 탭 이름을 변경할 수 있습니다

guake -r newtabname

최신 실행 명령을 얻으려면 예를 들어

echo "!!" | cut -f 1 -d " "

!!입력하면 bash로 확장됩니다. 별명 대체로 확장되지 않습니다. 따라서 history확장 기능을 사용하려면 확장 기능 을 사용하기 위해 내장 기능 을 사용해야합니다 .

alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'

마지막 명령이되었을 때

echo this is a test

그런 다음 전화

setguaketitle

제목을 "echo"로 설정합니다.


0

쉘을 zsh로 변경하면 다음에 추가 할 수 있습니다 ~/.zshrc.

preexec() {
    echo -n '\e]0;'
    echo -nE "$1"
    print -nP '  (%~)'
    echo -n '\a'
}

현재 명령과 현재 작업 디렉토리가 표시됩니다. 이것은 단지 구크가 아닌 모든 터미널 에뮬레이터에서 작동합니다.

zsh를 설치하려면 다음을 수행하십시오.

sudo apt-get install zsh

그것을 시도 그냥 말

zsh

새 터미널의 기본값으로 설정하려면 :

chsh -s /bin/zsh 

1
zsh는 guake와 전혀 작동하지 않습니다 :(
theTuxRacer

아, 맞습니다. 전에 그 문제를 겪었던 것을 기억합니다. 그러나 < guake.org/ticket/49 > 와 같이 버그와 관련된 버그 중 적어도 일부가 수정 된 것으로 보입니다 .
poolie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.