Phiên bản đơn của Terminal Gnome?


8

Tôi muốn biết hoặc có thể thiết lập Terminal Gnome theo cách mà khi tôi mở thiết bị đầu cuối và đã có một phiên bản mở, nó sẽ hiển thị trường hợp đó và không mở một thiết bị hoàn toàn mới.


bạn đang sử dụng phiên bản nào của Ubuntu và môi trường nào? Tôi hỏi, bởi vì những gì bạn đang mô tả là thiết lập mặc định trong unity và gnome-shell.
martin

Tôi đang sử dụng Ubuntu 11.10 với Unity-2D. Tôi chưa thực hiện cài đặt sạch nhưng nâng cấp từ 11.04.
Tâm trạng

Bạn có sử dụng Ctrl + Alt + T làm phím tắt không?
int_ua

Có tôi làm. Điều đó hoặc tôi bắt đầu một thiết bị đầu cuối gõ gõ ter ter »nhập vào trong Kupfer. Đó là 2 phương pháp tôi sử dụng. Bởi vì tôi không thường xuyên nhìn vào máy giặt Unity nên cuối cùng tôi có 3, 4 thiết bị đầu cuối khác nhau.
Tâm trạng

Câu trả lời:


8

Tôi đã viết một kịch bản shell đơn giản bằng cách sử dụng wmctrl để lấy tiêu điểm Terminal. Nó làm chính xác những gì tôi muốn.

Đầu tiên, cài đặt wmctrl sudo apt-get install wmctrl.

Tiếp theo, kích hoạt trình soạn thảo văn bản, sao chép các dòng sau.

#!/bin/sh
SERVICE='gnome-terminal'

if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
  wmctrl -xa $SERVICE
else
  $SERVICE
fi

Lưu tệp ở một nơi mà bạn thường giữ các tập lệnh shell của mình. Trong trường hợp của tôi, tôi đã làm: ~/bin/single_instance.sh

cd vào thư mục ( cd ~/bin) và làm cho tập tin thực thichmod +x single_instance.sh

Bây giờ, hãy mở Menu chính chọn Phụ kiện »Thuộc tính nhấn thiết bị đầu cuối và thay thế lệnh bằng tập lệnh:~/bin/single_instance.sh

Mở Cài đặt hệ thống »Bàn phím» Phím tắt . Vô hiệu hóa phím tắt Launch Terminal bằng cách cho nó một khoảng lùi. Tạo một phím tắt tùy chỉnh. Một lần nữa điền vào đường dẫn và tên cho tập lệnh và cung cấp cho nó tổ hợp phím ctrl + alt + t .

Bạn đã hoàn thành, thiết bị đầu cuối đơn ...


Tại sao không làm cho tập lệnh của bạn trở thành trình khởi chạy đầu cuối mặc định? Tại sao tất cả các bước để thêm phím tắt và tất cả? +1 cho tập lệnh, -1 cho việc thực hiện.
Bruno Pereira

Nói thật, tôi không biết làm thế nào. Tôi đã xem các ứng dụng mặc định và không thấy thiết bị đầu cuối. Ngoài ra, tôi tin rằng phiên bản trước của Ubuntu có các trường văn bản nơi các lệnh có thể được nhập. Phiên bản ứng dụng mặc định này là tất cả các menu thả xuống.
Tâm trạng

2

Thêm --tab vào lệnh launcher. Sau đó, bạn kết thúc chỉ với một ứng dụng. mở.

~$ gnome-terminal --help-all
:
--tab       Open a new tab in the last-opened window with the default profile

Không, tôi không muốn một tab mới. Tôi muốn thiết bị đầu cuối di chuyển đến tiền cảnh trong trạng thái cuối cùng tôi rời khỏi nó.
Tâm trạng

1
Điều này chỉ mở ra các cửa sổ mới cho tôi trên Ubuntu 16.04
beruic

0

Đó là hành vi mặc định nếu bạn sử dụng phím Mod4+#( Mod4= Super = "Windows", #là số trong trình khởi chạy) để mở bất kỳ ứng dụng nào.


Vâng, tôi biết điều đó. Tuy nhiên, tôi phải mở một thiết bị đầu cuối để bắt đầu. Ý tôi là khi tôi nhấn control + alt + t hoặc mở nó lên trong Kupfer. Tôi đang tìm kiếm hành vi tương tự như - ví dụ - Chrome: Nếu một phiên bản đang mở cho tôi thấy trường hợp đó, nếu không có trường hợp nào mở một phiên bản mới.
Tâm trạng

0

Tôi đã khái quát và đơn giản hóa kịch bản của @Mood một chút. Bây giờ nó cần một tham số dòng lệnh và sử dụng pgrep thay thế.

sudo apt-get install procps

Kịch bản:

#!/usr/bin/env bash

if pgrep $1
then
    wmctrl -xa $1
else
    $1
fi

0

Tôi muốn thêm tập lệnh của riêng mình, vì tôi thấy nó cực kỳ hữu ích:

  1. Nếu có một thiết bị đầu cuối gnome trong không gian làm việc hiện tại, thì nó sẽ đưa nó ra phía trước và tập trung vào nó
  2. Nếu không có bất kỳ thiết bị đầu cuối gnome nào trong không gian làm việc hiện tại, nó sẽ chuyển đổi không gian làm việc và đưa thiết bị đầu cuối hiện tại đầu tiên mà nó tìm thấy ở phía trước và tập trung vào nó
  3. Nếu không có phiên bản gnome-terminal nào chạy, nó sẽ mở một phiên bản mới, đưa nó ra phía trước và tập trung vào nó

Tôi đã cấu hình phím tắt Ctrl + Alt + T để chạy tập lệnh này và tôi thấy nó thậm chí còn thoải mái hơn Guake hoặc Tilda.

#!/usr/bin/env sh

# APP is the binary name you see when you do ps
APP="gnome-terminal"
# WIN_CLASS is the window class you see when you do wmctrl -lx
WIN_CLASS="gnome-terminal-server.Gnome-terminal"

# Use the app from current workpace first, or any if not available
WORKSPACE=$(wmctrl -d | grep '\*' | cut -d ' ' -f1)
TPID=$(ps aux | pgrep $APP)
if [ "$TPID" ]
then
  QTERM_WIN=$(wmctrl -lx | grep $WIN_CLASS | grep $WORKSPACE  | awk 'NR == 1 {print $1}')
  if [ "$QTERM_WIN" ]
  then
    wmctrl -ia $QTERM_WIN
  else
    # No valid app found in the current workspace, switch to any
    QTERM_WIN=$(wmctrl -lx | grep $WIN_CLASS | awk 'NR == 1 {print $1}')
    wmctrl -ia $QTERM_WIN
  fi
else
  $APP &
fi

Tôi sử dụng nó với QTerminal nhưng tôi đã sửa đổi để phù hợp với nhu cầu của bạn. Chúc may mắn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.