Як я можу запропонувати програмі запуску мінімізувати запуск?


19

Ось питання, яке мене клопоче. Ви знаєте, як можна налаштувати програму для запуску при запуску? Ну, як я можу сказати, щоб вона почалася до мінімуму, як це робиться у Windows?

TeamViewer починає відкриватися, але мені це потрібно мінімізувати, а лоток - це просто не виглядає елегантним способом зробити це.


Відповіді:


21

Можна використовувати інструмент під назвою devilspie Встановити devilspie .

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

  • Щоб встановити його з запуску командного рядка:

sudo apt-get install devilspie.

  • Щоб налаштувати його, щоб мінімізувати Teamviewer кожного разу, коли воно виконується:

    mkdir ~/.devilspie

Створіть файл, названий ~/.devilspie/teamviewer.dsі вставте наступні рядки:

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

Якщо ви хочете зробити gui для більш простої конфігурації, слід взяти до відома девідвілспі Встановіть gdevilspie

(якщо GDevilspie не починає спробувати виправити один ).


1
Це працює, але коли я відновлюю мінімізоване вікно, воно малюється неправильно - фон вікна TeamViewer стає копією того, що знаходиться під ним, а деякий текст не видно, наприклад, i.imgur.com/0p6yR.png (я затьмарив текст у трьох текстових полях). Інші програми для вина не роблять цього (Notepad ++, Picasa).
misterben

5

Я наткнувся на цю публікацію з тим самим випуском TeamViewer, який не запускався до мінімуму при налаштуванні для автоматичного запуску під час запуску системи Ubuntu.
Метод, описаний @MJB 27 січня о 16:02, працював для мене ідеально (я запускаю Ubuntu 10.10 32bit, усі оновлення, встановлені до цієї дати, з teamviewer_linux_x32_v6.0.9224.deb).
Я не відчуваю проблем, описаних @misterben 14 лютого о 18:50.
Я встановив GDevilspie через програмний центр Ubuntu, запустив його, створив нове правило і налаштував GDevilspie для відображення наступного коду на вкладці "Raw":

( if 
( begin 
( is ( application_name ) "Teamviewer" )
( is ( window_name ) "TeamViewer" )
) 
( begin 
( minimize )
( println "match" )
)
)

Демон демона встановлений для автоматичного запуску під час запуску системи, а командний переглядач налаштований автоматично запускатися через Система -> Налаштування -> Запуск програм (натисніть кнопку Додати, команда: teamviewer).

Було б чудово, якби розробники TeamViewer інтегрували стартовий мінімізований комутатор для Linux, хоча ...

Дякую MJB! :)


4

Мінімізація програми залежить від програми, підтримує вона це чи ні. Це також залежить, якщо програма має опцію в gui або через командний рядок. Наприклад, vlc має опцію в налаштуваннях, яка дає можливість її запустити до мінімуму. Але в командному рядку також є можливість її запустити до мінімуму (як параметри). Варіант мінімізації також змінюється залежно від програми. Можливо, деякі програми можуть бути program -minіншими program -systray, і т. Д. Переконайтеся, що, наприклад, у Teamviewer є параметр для цього в налаштуваннях gui. Якщо програма має параметр мінімізації командного рядка, просто додайте його до менеджера запуску.


Teamviewer використовує Wine для підтримки роботи в Linux. Оскільки версії Windows не приймають жодних параметрів командного рядка, так і версія Linux. Крім того, якщо хтось мінімізує його до лотка, він буде використовувати піктограму Wine, за винятком випадків, коли інший інструмент не використовується.
Грег Чабала

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 секундним обмеженням, після якого хтоcker відмовиться, якщо не зможе знайти відповідне вікно

0

Оскільки Teamviewer 8.0.20931, функція системного лотка автоматично мінімізується. Але в Gnome classic він створить лоток Wine System, і я не знаю, як його мінімізувати. Я спробував сценарій (збережений як ~ / .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. Вам потрібно мати віддалений доступ через командний рядок, щоб зробити перезавантаження на комп’ютер - тоді він працює знову.


0

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

sudo apt-get install wmctrl

Використовуючи wmctrl -lзнайдені назви вікон, я хотів закрити при запуску. Після цього введіть цю команду в скрипт (створіть новий порожній файл і назвіть його .<...>.sh. На початку імені, щоб сховати його):

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

Нарешті, додали цей файл до програм запуску через кілька секунд після цілей.


Зауважте, що ця команда закриває вікна. Щоб запустити програму мінімізовано, в різних робочих просторах знайдіть відповідні параметри в керівництві програми.


Якщо ви не змусите «розумно» чекати вікна, успіх залежатиме від часу між появою вікна та командою мінімізувати. Як було сказано, краще змусити його розумно чекати вікна, інакше воно не працюватиме, коли ваша система зайнята (і тим самим повільніше). Також існує ризик зіткнення імен, оскільки ви не використовуєте ідентифікатор вікна, але (частина) імені як ідентифікатор. дивіться askubuntu.com/a/663288/72216
Яків Влійм

Я погоджуюсь з тобою. Я навіть розмістив там свою версію сценарію. Я все ще використовую цей для перегляду команд.
Сергій

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 , потім ENTER ):

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    1. З devilspieточки зору всіх кроків зроблено, але бічне вікно "Комп'ютери та контакти" все одно відображатиметься при кожному запуску. Щоб приховати це, відкрийте:

TeamViewer -> Додаткові дані -> Опції -> Додатково -> "Показати розширені параметри" -> "Показати комп'ютери та контакти при запуску" (це в розділі "Розширені настройки для комп'ютерів і контактів) і зніміть його.

Кроки призначені для TeamViewer 12 . У наступних версіях вони можуть бути іншими.

ПРИМІТКА:

Використання (мінімізація) замість (закриття) в сценарії devilspie привело мене до помилки "TeamViewer не готовий. Будь ласка, перевірте ваше з'єднання" і без перезапуску служби перегляду команди команда не працювала.


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.