Я использую Ubuntu 14.04, и я пытаюсь удалить под управлением программу из средства запуска.
Конкретно я хочу запустить два терминала. Каждый для моей нормальной работы с несколькими вкладками, другой необходим для рабочего соединения SSH. Я хочу скрыть второй от средства запуска, и "минимизируют его к лотку" (это - то, как я назвал бы его в Windows).
Существует ли способ сделать это?
Чтобы дать Вам способность принять решение, Вы выбрали как ответ, я повторяю свой комментарий сверху. Хотя это - просто простое обходное решение, и не может действительно параллельный с @JacobVlijm, впечатляющим ответ !
, Таким образом, моя подсказка Вам должна была просто включить использование различных рабочих областей в Вашей панели параметров настройки системы. Когда Вам открыли окно в одной рабочей области, это не видимо в других.
, Но с Единицей, значок в Средстве запуска выделяется так или иначе, даже если единственное открытое окно находится в другой рабочей области.
В другом DES (я знаю XFCE и LXDE), дело обстоит не так. Панель/панель задач не показывает запускающие программы неактивных рабочих областей там.
Я использовал Tilda для этого в прошлом. Это имеет хорошую функцию разоблачения и сокрытия как, он - тезка, сделал в Гибели или Quake. Если Вы предпочитаете версию Python, это там также, имя Guake.
Это - в основном другое терминальное приложение, которое связывает себя с ключевой комбинацией и показывает только, когда Вы нажимаете, сказал, ключевая комбинация (скрывается, конечно, на нем также).
sudo apt-get install guake
- для Tilda видят, что это - страница.
Теперь, очевидно, Вы не можете хотеть другой терминальное приложение, поскольку кто-то как раз. Некоторые, хотя, предпочтите больше чем один, потому что:
Существует встроенная опция сделать это, но она немного прослушивается:
К повторно порвал скрытый Терминал, нажмите на значок Terminal в средстве запуска.
проблема с этим методом состоит в том, что иногда, из-за ошибки, необходимо будет закрыть все видимые Терминалы сначала для скрытого Терминала для разоблачения снова.
Используя сценарий ниже для переключения видимости (с сочетанием клавиш) можно было скрыть одно окно терминала (полностью) при уменьшении, как будто это не будет существовать, в то время как другое окно терминала сохраняет видимым в средстве запуска при уменьшении.
Прием должен создать отдельный профиль в gnome-terminal
предпочтения, с описательным именем в заголовке окна. Это позволяет отождествить окно терминала с wmctrl -l
команда и некарта это с xdotool
команда windowunmap, делая это невидимым в Средстве запуска.
Необходимо будет настроить сочетание клавиш для переключения видимости окна терминала, так как это не видимо в средстве запуска (см. далее ниже).
Для сценария нужны оба xdotool
и wmctrl
быть установленным:
sudo apt-get install xdotool
sudo apt-get install wmctrl
Затем:
Создайте отдельный профиль в gnome-terminal
предпочтения: выберите "Edit"> "Profiles", нажмите "New".
На вкладке "Title & Command", набор заголовок окна к (точно) "Hidden_Profile", чтобы быть помещенным перед заголовком окна:
N.B. Вам, возможно, придется выйти из системы / в том, чтобы профиль был "загружаемым"
Тест, если профиль работает путем выполнения команды:
gnome-terminal --window-with-profile=Hidden
окно должно открыться с "Hidden_profile" в заголовке окна:
Скопируйте сценарий ниже в пустой файл, сохраните его как run_hidden.py
Тестовый прогон это командой:
python3 /path/to/run_hidden.py
Что это должно сделать:
Если все хорошо работает, добавьте (команда для выполнения-) сценарий к комбинации ярлыка: выберите: Параметры настройки системы> "Клавиатура"> "Ярлыки"> "Пользовательские Ярлыки". Нажмите "+" и добавьте команду:
python3 /path/to/run_hidden.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")
def execute(cmd):
subprocess.check_call(cmd)
try:
w_id = [l.split()[0] for l in get(["wmctrl", "-l"]).splitlines() if "Hidden_Profile" in l][0]
execute(["xdotool", "windowunmap", w_id])
with open(hidden_windowid, "wt") as out:
out.write(w_id)
except IndexError:
try:
with open(hidden_windowid) as read:
w_id = read.read()
execute(["xdotool", "windowmap", w_id])
except subprocess.CalledProcessError:
execute(["gnome-terminal", "--window-with-profile=Hidden"])
Использование сценария wmctrl
определить окно (окно-) имя, когда мы дали его в отдельно созданном профиле с этой целью. После того как мы имеем id
, мы можем не отобразить его с xdotool
windowunmap
команда.
Для проверки мы можем заставить окно вновь появиться, id
хранится в скрытом файле; при переотображении сбоев сценарий приходит к заключению, что нет никакого окна, открытого от специального профиля, и он открывается один командой:
gnome-terminal --window-with-profile=Hidden