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

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

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

8 ответов

Вы можете использовать инструмент под названием devilspie Установить Devilspie,

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

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

sudo apt-get install devilspie,

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

    mkdir ~/.devilspie
    

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

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

Если вам нужен графический интерфейс для более простой настройки, обратите внимание на gdevilspie Установите 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, то это полное решение для запуска свернутого средства просмотра команды:

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

  2. устанавливать devilspie пакет:

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

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

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

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    
    1. От 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. Вы должны иметь удаленный доступ через командную строку, чтобы перезагрузить компьютер - тогда он снова работает.

Другие вопросы по тегам