Как мне сказать, чтобы программа запуска была свернута?
Вот вопрос, который беспокоил меня. Вы знаете, как правильно настроить программу для запуска при запуске? Ну, как я могу сказать, чтобы начать сворачивать, как вы бы сделали в Windows?
TeamViewer начинает открываться, но мне нужно, чтобы он был минимизирован, а Tray- просто не выглядит элегантным способом сделать это.
8 ответов
Вы можете использовать инструмент под названием devilspie ,
Этот инструмент может выполнять действия сразу после запуска программ, такие как отправка в рабочие области, закрепление, а также сворачивание. Учебник здесь.
- Чтобы установить его из командной строки, выполните:
sudo apt-get install devilspie
,
Чтобы настроить его так, чтобы Teamviewer минимизировался при каждом его выполнении:
mkdir ~/.devilspie
Создайте файл с именем ~/.devilspie/teamviewer.ds
и вставьте следующие строки:
(if
(is (application_name) "Teamviewer")
(begin (minimize) )
)
Если вам нужен графический интерфейс для более простой настройки, обратите внимание на gdevilspie
(если GDevilspie не запускается, попробуйте залатать один).
Я наткнулся на этот пост с той же самой проблемой, когда TeamViewer не запускается свернутым при настройке на автоматический запуск при запуске системы Ubuntu.
Метод, описанный @MJB 27 января в 16:02, отлично работал для меня (я использую Ubuntu 10.10 32bit, все обновления установлены до этой даты, с teamviewer_linux_x32_v6.0.9224.deb).
Я не испытываю глюков, описанных @misterben 14 февраля в 18:50.
Я установил GDevilspie через Ubuntu Software Center, запустил его, создал новое правило и настроил GDevilspie для отображения следующего кода на вкладке "Raw":
( if
( begin
( is ( application_name ) "Teamviewer" )
( is ( window_name ) "TeamViewer" )
)
( begin
( minimize )
( println "match" )
)
)
Демон devilspie настроен на автоматический запуск при запуске системы, а teamviewer настроен на автоматический запуск через "Система" -> "Настройки" -> "Запуск приложений" (нажмите "Добавить", команда: teamviewer).
Было бы здорово, если бы разработчики TeamViewer интегрировали минимизированный старт для Linux.
Спасибо MJB!:)
Минимизация программы зависит от программы, поддерживает она это или нет. Это также зависит от того, есть ли у программы опция в графическом интерфейсе или через командную строку. Например, в настройках vlc есть опция, позволяющая минимизировать запуск. Но у него также есть опция в командной строке, чтобы минимизировать запуск (например, параметры). Опция минимизации также меняется в зависимости от программы. Некоторые программы могут быть program -min
другой может быть program -systray
и т. д. Убедитесь, что Teamviewer, например, имеет опцию для этого в опциях графического интерфейса. Если в программе есть параметр минимизации командной строки, просто добавьте его в диспетчер запуска.
Я также сворачиваю Teamviewer в трей при запуске, но я использую KDocker.
sudo apt-get install kdocker
Мой стартовый скрипт состоит из одной строки:
kdocker -n Teamviewer -i /opt/teamviewer/teamviewer/7/desktop/teamviewer.png -d 40 /usr/bin/teamviewer7 &
-n
это имя окна-i
это значок файла-d
ограничение 40 секунд, после которого kdocker сдается, если не может найти подходящее окно
Devilspie по какой-то причине не работал в моей системе. В конце концов, я нашел замену (не так элегантно). Я установил wmctrl
:
sudo apt-get install wmctrl
С помощью wmctrl -l
нашел названия окон, хотел закрыть при запуске. После этого поместите эти команды в скрипт (создайте новый пустой файл и назовите его .<...>.sh
, Точка в начале названия, чтобы скрыть это):
wmctrl -c <Window_1>
wmctrl -c <Window_2>
wmctrl -c <Window_3>
Наконец, добавили этот файл в автозагрузку приложений через пару секунд после цели.
Обратите внимание, что эта команда закрывает окна. Чтобы запустить свернутую программу, в разных рабочих местах найдите соответствующие опции в руководстве по программе.
2017 рабочее решение!
Я из редакции Manjaro (XFCE), но так как это решение для кросс-линукс с devilspie, то это полное решение для запуска свернутого средства просмотра команды:
Открытый терминал
устанавливать
devilspie
пакет:apt-get install devilspie
Создать домашнюю папку:
mkdir ~/.devilspie
Создайте следующий скрипт (используйте любой редактор вместо
nano
):nano ~/.devilspie/teamviewer.ds
Вставьте следующий скрипт и сохраните файл (для
nano
- CTRL + x, затем Y, затем ENTER):( if ( begin ( is (application_name) "Teamviewer") ( is (window_name) "TeamViewer") ) ( begin (close) ) )
- От
devilspie
В перспективе все шаги выполнены, но боковое окно "Компьютеры и контакты" будет отображаться при каждом запуске. Чтобы скрыть это, откройте:
- От
TeamViewer -> Дополнительно -> Параметры -> Дополнительно -> "Показать дополнительные параметры" -> "Показать компьютеры и контакты при запуске" (находится в разделе "Дополнительные параметры для компьютеров и контактов") и снимите флажок.
Шаги для TeamViewer 12. В последующих версиях они могут отличаться.
НОТА:
Использование (свернуть) вместо (закрыть) в сценарии devilspie привело к ошибке "TeamViewer не готов. Проверьте соединение", и без перезапуска службы средства просмотра команды это не сработало.
В новой версии программа уже имеет значок в трее, но при запуске появляются два основных окна программы. Так что я использую этот скрипт
#! /bin/sh
/opt/teamviewer/tv_bin/TeamViewer &
sleep 10
TV_WIN_ID=$(xdotool search --name TeamViewer)
TV_WIN_ID2=$(xdotool search --name 'Компьютеры и контакты')
if [ -n "$TV_WIN_ID" ] ; then
sleep 1
xdotool windowactivate $TV_WIN_ID
xdotool key Alt+F4
else
exit 1
fi
if [ -n "$TV_WIN_ID2" ] ; then
sleep 1
xdotool windowactivate $TV_WIN_ID2
xdotool key Alt+F4
else
exit 1
fi
Начиная с Teamviewer 8.0.20931 автоматически сворачивается функция панели задач. Но в Gnome classic он создаст Wine System Tray, и я не знаю, как его минимизировать. Я попробовал скрипт (сохраненный как ~ /.devilspie / wine.ds):
( if
( begin
( is ( application_name ) "Wine" )
( is ( window_name ) "Wine System Tray" )
)
( begin
( minimize )
( println "match" )
)
)
... но это не сработало
С новым Teamviewer 8.0.20931 для Linux работает даже вход в систему на экране входа в Linux - когда ни один пользователь еще не вошел в систему. Но через некоторое время, когда вы входите и выходите дважды или около того, вы не можете подключиться к Teamviewer. Вы должны иметь удаленный доступ через командную строку, чтобы перезагрузить компьютер - тогда он снова работает.