Jak powiedzieć programowi uruchamiającemu, aby zaczął być zminimalizowany?

19

Oto pytanie, które mnie denerwuje. Wiesz, jak skonfigurować program do uruchamiania przy starcie, prawda? Cóż, jak mogę to zminimalizować, tak jak w Windowsie?

TeamViewer zaczyna się otwierać, ale potrzebuję go zminimalizować, a Tray-to po prostu nie wydaje się tak elegancki sposób na zrobienie tego.

pół-początkujący
źródło

Odpowiedzi:

21

Możesz użyć narzędzia o nazwie devilspie Zainstaluj devilspie .

To narzędzie może podejmować działania natychmiast po uruchomieniu programów, takie jak wysyłanie do obszarów roboczych, przypinanie, a także minimalizowanie. Samouczek jest tutaj .

  • Aby zainstalować go z poziomu wiersza poleceń:

sudo apt-get install devilspie.

  • Aby skonfigurować go w celu zminimalizowania Teamviewer przy każdym uruchomieniu:

    mkdir ~/.devilspie

Utwórz plik o nazwie ~/.devilspie/teamviewer.dsi wklej następujące linie:

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

Jeśli chcesz mieć GUI dla łatwiejszej konfiguracji, zwróć uwagę na gdevilspie Zainstaluj gdevilspie

(jeśli GDevilspie się nie uruchamia, spróbuj załatać jeden ).

MJB
źródło
1
Działa to, ale gdy przywracam zminimalizowane okno, rysuje się ono niepoprawnie - tło okna TeamViewer staje się kopią wszystkiego, co jest pod nim, a niektóre teksty nie są widoczne, np. I.imgur.com/0p6yR.png (zasłoniłem tekst w trzech polach tekstowych). Inne aplikacje do wina tego nie robią (Notepad ++, Picasa).
misterben
5

Natknąłem się na ten post z tym samym problemem, że TeamViewer nie uruchamia się zminimalizowany po skonfigurowaniu do automatycznego uruchamiania podczas uruchamiania systemu Ubuntu.
Metoda opisana przez @MJB 27 stycznia o 16:02 działała idealnie dla mnie (używam Ubuntu 10.10 32bit, wszystkie aktualizacje są zainstalowane do tej pory, z teamviewer_linux_x32_v6.0.9224.deb).
Nie występują usterki opisane przez @misterben 14 lutego o 18:50.
Zainstalowałem GDevilspie za pośrednictwem Centrum oprogramowania Ubuntu, uruchomiłem go, utworzyłem nową regułę i skonfigurowałem GDevilspie, aby wyświetlał następujący kod w zakładce „Raw”:

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

Demon devilspie jest skonfigurowany tak, aby uruchamiał się automatycznie podczas uruchamiania systemu, a teamviewer jest ustawiony na automatyczne uruchamianie poprzez System -> Preferencje -> Aplikacje startowe (kliknij Dodaj, polecenie: teamviewer).

Byłoby wspaniale, gdyby programiści TeamViewer zintegrowali przełącznik zminimalizowany na początek dla Linuksa ...

Dzięki MJB! :)

qwertz
źródło
4

Minimalizacja programu zależy od tego, czy program to obsługuje, czy nie. Zależy to również od tego, czy program ma opcję w GUI, czy za pośrednictwem wiersza poleceń. Na przykład vlc ma opcję w preferencjach, która daje szansę na zminimalizowanie jej uruchomienia. Ale ma również opcję w wierszu poleceń, aby uruchomić ją zminimalizowaną (jak parametry). Opcja minimalizacji zmienia się również w zależności od programu. Niektóre programy mogą być program -mininne program -systray, itp. Sprawdź, czy na przykład Teamviewer ma taką opcję w opcjach GUI. Jeśli program ma parametr minimalizacji wiersza poleceń, po prostu dodaj go do menedżera uruchamiania.

Luis Alvarado
źródło
Teamviewer używa Wine do obsługi systemu Linux. Ponieważ wersje systemu Windows nie akceptują żadnych parametrów wiersza polecenia, wersja Linux również nie. Ponadto, jeśli ktoś zminimalizuje go do zasobnika, użyje ikony Wina, chyba że inne narzędzie zostanie użyte z innym narzędziem.
Greg Chabala
1

Podczas uruchamiania minimalizuję Teamviewer do zasobnika, ale używam KDocker .

sudo apt-get install kdocker

Mój skrypt startowy ma jedną linię:

kdocker -n Teamviewer -i /opt/teamviewer/teamviewer/7/desktop/teamviewer.png -d 40 /usr/bin/teamviewer7 &
  • -n to nazwa okna
  • -i to plik ikony
  • -d to 40 sekundowy limit, po którym kdocker zrezygnuje, jeśli nie będzie w stanie znaleźć pasującego okna
Greg Chabala
źródło
0

Od Teamviewer 8.0.20931 funkcja automatycznego minimalizowania do paska zadań jest automatycznie minimalizowana. Ale w Gnome classic stworzy Wine System Tray i nie wiem, jak go zminimalizować. Próbowałem skryptu (zapisanego jako ~ / .devilspie / wine.ds):

( if 
( begin 
( is ( application_name ) "Wine" )
( is ( window_name ) "Wine System Tray" )
) 
( begin 
( minimize )
( println "match" )
)
)

... ale to nie zadziałało

Dzięki nowemu Teamviewerowi 8.0.20931 dla Linuksa nawet logowanie do systemu Linux działa - ekran logowania nie jest jeszcze zalogowany. Ale po pewnym czasie, gdy logujesz się i wylogowujesz dwa razy - nie możesz połączyć się z Teamviewer. Musisz mieć zdalny dostęp z wiersza poleceń, aby ponownie uruchomić komputer - wtedy to znowu działa.

zeroconf
źródło
0

Devilspie z jakiegoś powodu nie działało w moim systemie. W końcu znalazłem zamiennik (nie tak elegancki). Zainstalowałem wmctrl:

sudo apt-get install wmctrl

Używając wmctrl -lznalezionych nazw okien, chciałem zamknąć przy starcie. Następnie umieść te polecenia w skrypcie (utwórz nowy pusty plik i nadaj mu nazwę .<...>.sh. Dot na początku nazwy, aby go ukryć):

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

Na koniec dodano ten plik do aplikacji startowych kilka sekund po obiektach docelowych.


Zauważ, że to polecenie zamyka okna. Aby uruchomić program zminimalizowany, w różnych sieciach roboczych znajdź odpowiednie opcje w instrukcji programu.

Siergiej
źródło
O ile nie sprawisz, że „sprytnie” zaczekasz na okno, powodzenie będzie zależeć od czasu między pojawieniem się okna a poleceniem zminimalizowania. Jak powiedziano, lepiej spraw , aby inteligentnie czekał na okno, w przeciwnym razie nie będzie działać, gdy system jest zajęty (a zatem wolniejszy). Istnieje również ryzyko kolizji nazw, ponieważ nie używasz identyfikatora okna, ale (część) nazwy jako identyfikatora. patrz askubuntu.com/a/663288/72216
Jacob Vlijm
Zgadzam się z Tobą. Nawet zamieściłem tam swoją wersję skryptu. Nadal jednak używam tego do podglądu zespołu.
Siergiej
0

2017 działające rozwiązanie!

Pochodzę z edycji Manjaro (XFCE), ale ponieważ jest to cross-linuxowe rozwiązanie z devilspie, więc jest to kompletne rozwiązanie przy uruchamianiu przeglądarki zespołu zminimalizowane:

  1. Otwórz terminal

  2. Zainstaluj devilspiepakiet:

    apt-get install devilspie
  3. Utwórz folder domowy:

    mkdir ~/.devilspie
  4. Utwórz następujący skrypt (zamiast tego użyj dowolnego edytora nano):

    nano ~/.devilspie/teamviewer.ds
  5. Wklej następujący skrypt i zapisz plik (dla nano- CTRL + x , następnie Y , a następnie ENTER ):

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    1. Z devilspieperspektywy wszystkie kroki zostały wykonane, ale okno boczne „Komputery i kontakty” będzie nadal wyświetlane przy każdym uruchomieniu. Aby go ukryć, otwórz:

TeamViewer -> Dodatki -> Opcje -> Zaawansowane -> „Pokaż opcje zaawansowane” -> „Pokaż komputery i kontakty podczas uruchamiania” (znajduje się w sekcji „Ustawienia zaawansowane komputerów i kontaktów”) i usuń zaznaczenie.

Kroki są dla TeamViewer 12 . W kolejnych wersjach mogą się różnić.

UWAGA:

Używanie (minimalizowanie) zamiast (zamykanie) w skrypcie devilspie przyniosło mi błąd „TeamViewer nie jest gotowy. Sprawdź połączenie” i bez restartu usługi podglądu zespołu nie działał.

Erikas
źródło
0

w nowej wersji program ma już ikonę w zasobniku, ale podczas uruchamiania pojawiają się dwa główne okna programu. Więc używam tego skryptu

#! /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
źródło