저는 현재 Ubuntu 14.04에서 작업 중입니다.두 개의 별도 화면.
터미널을 시작하기 위해 키보드 단축키인 Ctrl+Alt+T를 사용하면 작업 중인 화면이 왼쪽에 있는 화면이더라도 터미널은 현재 기본적으로 왼쪽 화면에서 열리도록 설정되어 있습니다.
이 문제는 다음에 적용됩니다.그놈 터미널오직
궁금하네요현재 활성화된 화면에서 터미널이 실행되도록 설정하는 방법이 있습니까??
감사해요.
답변1
Ctrl+ Alt+ 로 시작된 새 터미널 창을 T현재 활성 화면에서 여는 방법은 무엇입니까?
하지만매우많은 관련이 있다이 하나, 속이는 것이 아니며 완전히 다른 솔루션이 필요합니다. 귀하의 질문은 에만 해당되며 gnome-terminal
바로가기를 사용하여 응용프로그램을 시작하고 있습니다. 이 둘은 배경 스크립트를 불필요하게 만들고 몇 가지 추가 정보를 요청합니다.
해결책
단축키로 터미널을 시작하기 때문에 깔끔한 영혼을 만드는 것이 상대적으로 쉽습니다. 래퍼 스크립트를 실행하기 위해 Ctrl++ Alt로 호출되는 명령을 간단히 대체할 수 있습니다 . T이 래퍼는 새 인스턴스를 시작하고 새 창이 나타날 때까지 기다린 다음 마우스의 현재 위치를 확인하고 새 gnome-terminal
창을 해당 화면으로 이동합니다.
스크립트
#!/usr/bin/env python3
import subprocess
import time
app = "gnome-terminal"
def get(cmd):
return subprocess.check_output(cmd).decode("utf-8").strip()
def screen_limit():
screendata = [s for s in get("xrandr").split() if s.count("+") == 2]
if len(screendata) == 2:
return int([s.split("x")[0] for s in screendata if "+0+0" in s][0])
rightside = screen_limit()
if rightside:
ws1 = get(["wmctrl", "-lpG"]); t = 0
subprocess.Popen(app)
while t < 30:
ws2 = [w for w in get(["wmctrl", "-lpG"]).splitlines() if not w in ws1]
if ws2:
try:
pid = get(["pgrep", "-f", app])
except subprocess.CalledProcessError:
pass
else:
match = [w for w in ws2 if pid in w]
if match:
match = match[0].split()
mousepos = int(get(["xdotool", "getmouselocation"]).split()[0].split(":")[1])
check = [mousepos < rightside, int(match[3]) < rightside]
if check[0] != check[1]:
cmd = ["xdotool", "windowmove", match[0], str(int(match[3]) + rightside), match[4]] \
if check[0] == False else \
["xdotool", "windowmove", match[0], str(int(match[3]) - rightside), match[4]]
subprocess.Popen(cmd)
break
time.sleep(0.5); t += 1
else:
subprocess.Popen(app)
사용하는 방법
스크립트에는
wmctrl
및 다음이 모두 필요합니다xdotool
.sudo apt-get install wmctrl xdotool
- 위 스크립트를 빈 파일에 복사하고 다른 이름으로 저장하세요.
move_terminal.py
Ctrl이제 + Alt+ 로 실행되는 기본 명령을 변경해야 합니다 .T
먼저 다음 명령으로 현재 단축키를 비활성화합니다.
gsettings set org.gnome.settings-daemon.plugins.media-keys terminal ""
그러면 바로가기를 다시 사용할 수 있게 됩니다.
그런 다음 사용자 정의 단축키에 새 명령을 추가합니다. 시스템 설정 > "키보드" > "단축키" > "사용자 정의 단축키"를 선택합니다. "+"를 클릭하고 다음 명령을 추가합니다.
python3 /path/to/move_terminal.py
바로가기로 Ctrl+ Alt+T
이제 ++ 에 의해 gnome-terminal
시작된 새 창은 항상 현재 활성 화면을 "따릅니다".CtrlAltT
메모
두 번째 화면이 연결되어 있지 않으면 Ctrl+ Alt+는 T새 터미널 창을 엽니다.