Как сообщить программе запуска, чтобы начать свертывание?

19

Вот вопрос, который меня прослушивал. Вы знаете, как настроить программу для запуска при запуске? Ну, как я могу сказать, чтобы это сведено к минимуму, как в окнах?

TeamViewer начинает открываться, но мне нужно его свести к минимуму, а Tray - просто не кажется таким изящным, как это сделать.

    
задан semi-newbie 11.01.2011 в 02:31
источник

8 ответов

21

Вы можете использовать инструмент devilspie .

Этот инструмент может принимать меры сразу же после запуска программ, например, отправки на рабочие области, фиксации и минимизации. Учебное пособие здесь .

  • Чтобы установить его из командной строки:

sudo apt-get install devilspie .

  • Чтобы настроить его, чтобы минимизировать Teamviewer каждый раз, когда он выполняется:

    mkdir ~/.devilspie
    

Создайте файл с именем ~/.devilspie/teamviewer.ds и вставьте следующие строки:

(if  
(is (application_name) "Teamviewer")  
(begin (minimize) )  
)  

Если вы хотите использовать gui для более легкой конфигурации, вы должны принять к сведению gdevilspie

(еслиGDevilspieнезапускается попробуйте заплатить один ).

    
ответ дан MJB 27.01.2011 в 17:02
5

Я наткнулся на это сообщение с той же проблемой, что и 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 автоматически запускается через System - > Предпочтения - > Запуск приложений (нажмите «Добавить», команда: teamviewer).

Было бы здорово, если бы разработчики TeamViewer интегрировали бы переключатель с минимальным запуском для linux, хотя ...

Спасибо MJB! :)     

ответ дан qwertz 23.05.2011 в 15:11
4

Минимизация программы зависит от программы, если она поддерживает это или нет. Это также зависит от того, есть ли у программы опция в gui или через командную строку. Например, vlc имеет опцию в настройках, которая дает возможность свести ее к минимуму. Но у нее также есть опция в командной строке, чтобы начать ее минимизацию (например, параметры). Опция минимизации также изменяется в зависимости от программы. Некоторые программы могут быть program -min , другие могут быть program -systray и т. Д. Убедитесь, что Teamviewer, например, имеет опцию для этого в опциях gui. Если программа имеет параметр минимизации командной строки, просто добавьте ее в диспетчер запуска.     

ответ дан Luis Alvarado 11.01.2011 в 03:25
1

Я также минимизирую 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 откажется, если не сможет найти соответствующее окно
ответ дан Greg Chabala 14.08.2013 в 07:45
0

Так как Teamviewer 8.0.20931 автоматически сворачивается в функцию системного лотка. Но в классике Gnome он будет создавать 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. Вам нужно иметь удаленный доступ через командную строку для перезагрузки компьютера - тогда он работает снова.

    
ответ дан zeroconf 24.09.2013 в 01:28
0

Devilspie по какой-то причине не работал в моей системе. В конце концов, я нашел замену (не очень элегантную). Я установил wmctrl :

sudo apt-get install wmctrl

Используя wmctrl -l нашли имена окон, я хотел закрыть при запуске. После этого поместите эту команду в скрипт (создайте новый пустой файл и назовите его .<...>.sh . Dot в начале имени, чтобы скрыть его):

wmctrl -c <Window_1>
wmctrl -c <Window_2>
wmctrl -c <Window_3>

Наконец, этот файл добавлен в приложения для запуска через пару секунд после целей.

Обратите внимание, что эта команда закрывает окна. Чтобы запустить программу с минимальными значениями, на разных таблицах рабочих мест найдите соответствующие опции в руководстве по программе.

    
ответ дан Sergey 02.01.2016 в 13:44
0

2017 рабочее решение!

Я прихожу из издания Manjaro (XFCE), но так как это кросс-linux-решение с devilspie, так что это полное решение при запуске средства просмотра команды минимизировано:

  1. Открыть терминал

  2. Установите пакет devilspie :

    apt-get install devilspie
    
  3. Создать домашнюю папку:

    mkdir ~/.devilspie
    
  4. Создайте следующий скрипт (используйте любой редактор, а не nano ):

    nano ~/.devilspie/teamviewer.ds
    
  5. Вставьте следующий скрипт и сохраните файл (для nano - CTRL + x , затем Y , затем ВВОД ):

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    
    1. С точки зрения devilspie все шаги выполняются, но боковое окно «Компьютеры и контакты» по-прежнему будет отображаться при каждом запуске. Чтобы скрыть его, откройте:

TeamViewer - > Дополнительно - > Параметры - > Дополнительно - > «Показать дополнительные параметры» - > «Показать компьютеры и контакты при запуске» (раздел «Дополнительные настройки для раздела« Компьютеры и контакты ») и снимите флажок.

Шаги для TeamViewer 12 . В других версиях они могут быть разными.

Примечание:

Использование (свернуть) вместо (закрыть) в скрипте devilspie привело к тому, что «TeamViewer не был готов. Проверьте свою связь», и без перезагрузки службы Team Viewer это не сработало.

    
ответ дан Erikas 10.01.2017 в 13:27
0

в новой версии программа уже имеет значок в лотке, но при запуске появляются два основных окна программы. Поэтому я использую этот скрипт

#! /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
    
ответ дан Andrey 20.10.2017 в 07:12