바로 가기 키로 마지막 터미널 창을 여는 방법은 무엇입니까? 키를 사용하고 명령을

터미널을 자주 사용하여 빠른 명령을 내린 다음 백그라운드에서 그대로 두어 작업하는 동안 20 개 이상의 터미널 세션을 열었습니다. 바로 가기 키를 사용하고 명령을 입력하는 것이 매우 빠르기 때문입니다.

바로 가기 키를 설정하여 새 터미널 창을 만드는 대신 마지막 터미널 창을 표시하는 방법이 있습니까?



답변

10 번 위치에 Unity 런처 사이드 바에 터미널이 고정되어 있습니다.이 방법으로 Super+ 0를 눌러 런처 아이콘을 “클릭”하여 최신 터미널 창을 맨 위에 올릴 수 있습니다.

런처에 설치해도 괜찮은 경우 (처음 10 자리 중 하나, 그렇지 않으면 바로 가기가 표시되지 않습니다!)이 작동합니다.


답변

나는 구크를 사용 하고 매우 기쁘다. F12를 누르면 터미널 창이 나타나고 F12를 다시 누르면 사라지지만 백그라운드에서 계속 실행됩니다. 또한 : 정말 멋지다.


답변

아래의 스크립트를 키 조합으로 넣을 수 있습니다. 키 조합을 누르면 터미널 창이 사라집니다 (완전히). 다시 누르면, 원래 상태 그대로 다시 나타납니다.

터미널 창 이름에 식별 문자열을 추가하는 것만으로도 한 번만 수행하면됩니다 (터미널 창의 이름은 대부분 동일한 경우)

그것을 사용하려면

모두 설치 xdotoolwmctrl:

sudo apt-get install xdotool
sudo apt-get install wmctrl
  1. 스크립트를 빈 파일로 복사하여 다른 이름으로 저장하십시오. hide_terminal.py
  2. 헤드 섹션에서 터미널 창의 이름을 식별하는 문자열을 설정하십시오.
  3. 키 조합으로 실행하십시오.

    python3 /path/to/hide_terminal.py
    

스크립트

#!/usr/bin/env python3
import subprocess
import os

home = os.environ["HOME"]
hidden_windowid = home+"/.window_id.txt"

get = lambda cmd: subprocess.check_output(cmd).decode("utf-8")
# --- set the identifying string in the terminal window's name below (you mentioned "Terminal"
window_idstring = "Special_window"
# ---
def execute(cmd):
    subprocess.check_call(cmd)

w_id = [l.split()[0] for l in get(["wmctrl", "-l"]).splitlines() if window_idstring in l]
if len(w_id) !=0:
    for w in w_id:
        execute(["xdotool", "windowunmap", w])
        with open(hidden_windowid, "a") as out:
            out.write(w+"\n")
else:
    try:
        with open(hidden_windowid) as read:
            for w in [w.strip() for w in read.readlines()]:
                try:
                    execute(["xdotool", "windowmap", w])
                except subprocess.CalledProcessError:
                    pass
        with open(hidden_windowid, "wt") as clear:
            clear.write("")
    except FileNotFoundError:
        pass

답변

이것은 bash로 작성된 Jacob Vlijm의 대답과 동일합니다.

#!/usr/bin/env bash

## window_name will be the first argument passed or, if no
## argument was given, "Terminal"
window_name=${1:-"Terminal"}

## Get the list of open terminals
terms=( $(wmctrl -l | grep "$window_name" | cut -d ' ' -f 1) )

## If all terminals are hidden
if [ -z "${terms[0]}" ]
then
    ## Read the IDs of hidden windows from .hidden_window_id
    while read termid
    do
        xdotool windowmap "$termid"
    done < ~/.hidden_window_id
## If there are visible terminals
else
    ## Clear the .hidden_window_id file
    > ~/.hidden_window_id
    ## For each open terminal
    for i in "${terms[@]}"
    do
        ## Save the current ID into the file
        printf "%s\n" "$i" >> ~/.hidden_window_id
        ## Hide the window
        xdotool windowunmap "$i"
    done
fi

로 저장하면 ~/bin/show_hide.sh숨기려는 창의 식별 문자열을 제공하여 실행할 수 있습니다. 문자열이 제공되지 않으면 다음과 같이 작동합니다 Terminal.

show_hide.sh Terminal

답변

gnome-shell‘Drop Down Terminal’확장자와 함께 사용 하고 있는데 기본 단축키는 TAB있지만 쉽게 변경됩니다.


답변

이 간단한 wmctrl 명령은 제목에 주어진 문자열이있는 창을 띄우거나 문자열이 포함 된 창이 없으면 명령을 실행합니다.

wmctrl -a <str> || <command to launch application>

예를 들어 gedit에 사용할 수 있습니다

wmctrl -a gedit || gedit

응용 프로그램 창에 적합한 문자열을 찾으려면 응용 프로그램을 열고 실행하십시오.

wmctrl -l

답변

다음 접근법이 나를 위해 일했습니다.

#!/usr/bin/env bash

# Written by Eric Zhiqiang Ma (http://www.ericzma.com)
# Last update: Jul. 9, 2014

# Read the tutorials at
# http://www.systutorials.com/5475/turning-gnome-terminal-to-a-pop-up-terminal/

# Required tools: xdotool

terminal="gnome-terminal"
stat_file="/dev/shm/actiavte-termianl.term.$USER"
termtype="Terminal"
wait_sec=1
max_wait_cnt=4

# parse options first
if [ "$1" != "" ]; then
    terminal="$1"
fi


term_exists () {
    allterms=`xdotool search --class "$termtype"`
    for e in $allterms; do [[ "$e" == "$1" ]] && return 0; done
    return 1
}

create_terminal () {
    echo "Create new terminal"
    $terminal --maximize &

    exists=1
    wait_cnt=0
    until [ "$exists" == "0" ]; do
        # sleep a while
        sleep $wait_sec

        # Note that the focus window may be from a terminal that
        # already exists; the makes create_terminal choose the existing terminal
        # Making the wait_sec large enough so that the terminal can be created and
        # displayed can make the false choosing more unlikely.

        term=$(xdotool getwindowfocus)
        term_exists "$term"
        exists=$?
        # avoid infinite wait
        let wait_cnt=wait_cnt+1
        if [ $wait_cnt -gt $max_wait_cnt ]; then
            echo "Wait for too long. Give up."
            term=""
            exists=0
        fi
    done

    echo "Created terminal window $term"
    # save the state
    echo "$term" >$stat_file
}

# read the state
if [ -f $stat_file ]; then
    term=$(cat $stat_file)
fi

# check whether it exists
term_exists "$term"
exists=$?
if [[ "$exists" != "0" ]]; then
    create_terminal
    exit 0
fi

# check whether it is already activated
curwin=$(xdotool getwindowfocus)

if [ "$term" == "$curwin" ]; then
    # deactivate (minimize) the terminal if it is currently activated
    xdotool windowminimize $curwin
else
    # activate the terminal if it is not currently activated
    xdotool windowactivate $term
fi

exit 0

그런 다음 실행 권한을 부여하고 스크립트를 설정의 키에 바인딩하십시오.

출처:

http://www.systutorials.com/5475/turning-gnome-terminal-to-a-pop-up-terminal/