Come faccio a dire a un programma di avvio di iniziare al minimo?


19

Ecco una domanda che mi ha infastidito. Sai come si può impostare un programma per l'esecuzione all'avvio giusto? Bene, come posso dirlo per iniziare a minimizzare, come faresti con Windows?

TeamViewer inizia a essere aperto, ma ne ho bisogno minimizzato e Tray non sembra elegante come un modo per farlo.


Risposte:


21

Puoi usare uno strumento chiamato devilspie Installa devilspie .

Questo strumento può eseguire azioni non appena vengono avviati i programmi, come l'invio ad aree di lavoro, il blocco e anche la riduzione a icona. Un tutorial è qui .

  • Per installarlo dall'esecuzione da riga di comando:

sudo apt-get install devilspie.

  • Per configurarlo in modo da ridurre a icona Teamviewer ogni volta che viene eseguito:

    mkdir ~/.devilspie

Crea un file chiamato ~/.devilspie/teamviewer.dse incolla le seguenti righe:

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

Se desideri una GUI per una configurazione più semplice, dovresti prendere nota di gdevilspie Installa gdevilspie

(se GDevilspie non si avvia provare una patch ).


1
Funziona, ma quando ripristino la finestra ridotta a icona si disegna in modo errato: lo sfondo della finestra di TeamViewer diventa una copia di tutto ciò che si trova sotto di essa e parte del testo non è visibile, ad esempio i.imgur.com/0p6yR.png (l'ho oscurato testo nelle tre caselle di testo). Altre app per il vino non lo fanno (Notepad ++, Picasa).
misterben,

5

Mi sono imbattuto in questo post con lo stesso problema di TeamViewer che non si avviava minimizzato quando impostato per l'avvio automatico all'avvio del sistema Ubuntu.
Il metodo descritto da @MJB il 27 gennaio alle 16:02 ha funzionato perfettamente per me (sto eseguendo Ubuntu 10.10 a 32 bit, tutti gli aggiornamenti installati fino a questa data, con teamviewer_linux_x32_v6.0.9224.deb).
Non provo i difetti descritti da @misterben il 14 febbraio alle 18:50.
Ho installato GDevilspie tramite Ubuntu Software Center, l'ho eseguito, ho creato una nuova regola e impostato GDevilspie per mostrare il seguente codice nella scheda "Raw":

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

Il demone devilspie è impostato per avviarsi automaticamente all'avvio del sistema e teamviewer è impostato per avviarsi automaticamente tramite Sistema -> Preferenze -> Applicazioni di avvio (fare clic su Aggiungi, comando: teamviewer).

Sarebbe bello se gli sviluppatori di TeamViewer integrassero uno switch minimizzato di avvio per Linux ...

Grazie MJB! :)


4

Ridurre a icona un programma dipende dal programma se lo supporta o no. Dipende anche se il programma ha un'opzione nella GUI o tramite riga di comando. Ad esempio vlc ha un'opzione nelle preferenze che dà la possibilità di avviarla minimizzata. Ma ha anche un'opzione nella riga di comando per avviarla minimizzata (come i parametri). L'opzione per ridurre al minimo cambia anche in base al programma. Alcuni programmi potrebbero essere program -minaltri program -systray, ecc. Verificare che Teamviewer, ad esempio, abbia un'opzione per questo nelle opzioni della GUI. Se il programma ha un parametro di minimizzazione della riga di comando, basta aggiungerlo al gestore di avvio.


Teamviewer utilizza Wine per supportare l'esecuzione su Linux. Poiché le versioni di Windows non accettano alcun parametro della riga di comando, nemmeno la versione di Linux. Inoltre, se uno lo minimizza nel vassoio, utilizzerà l'icona Wine, a meno che non venga fornito con un altro da qualsiasi strumento venga utilizzato.
Greg Chabala,

1

Sto anche minimizzando Teamviewer sul vassoio all'avvio, ma sto usando KDocker .

sudo apt-get install kdocker

Il mio script di avvio è una riga:

kdocker -n Teamviewer -i /opt/teamviewer/teamviewer/7/desktop/teamviewer.png -d 40 /usr/bin/teamviewer7 &
  • -n è il nome della finestra
  • -i è il file icona
  • -d è un limite di 40 secondi, dopo di che kdocker rinuncerà se non riesce a trovare una finestra corrispondente

0

Dal momento che Teamviewer 8.0.20931 viene automaticamente ridotta a icona nella barra delle applicazioni. Ma in Gnome classic creerà Wine System Tray e non so come minimizzarlo. Ho provato lo script (salvato come ~ / .devilspie / wine.ds):

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

... ma non ha funzionato

Con il nuovo Teamviewer 8.0.20931 per Linux anche il login nella schermata di login di Linux funziona - quando nessun utente non è ancora loggato. Ma dopo un po 'di tempo quando si accede e si disconnette due volte, non è possibile connettersi a Teamviewer. È necessario disporre dell'accesso remoto dalla riga di comando per riavviare il computer, quindi funziona di nuovo.


0

Devilspie non ha funzionato nel mio sistema per qualche motivo. Alla fine, ho trovato un sostituto (non così elegante). Ho installato wmctrl:

sudo apt-get install wmctrl

Utilizzando wmctrl -ltrovato i nomi delle finestre, volevo chiudere all'avvio. Successivamente, inserisci i comandi nello script (crea un nuovo file vuoto e .<...>.shchiamalo. Punto all'inizio del nome per nasconderlo):

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

Infine, ho aggiunto questo file alle applicazioni di avvio un paio di secondi dopo le destinazioni.


Si noti che questo comando chiude Windows. Per avviare il programma ridotto a icona, su diversi ets dello spazio di lavoro, trovare le opzioni appropriate nel manuale del programma.


A meno che non lo si faccia attendere "in modo intelligente" per la finestra, il successo dipenderà dal tempo tra l'aspetto della finestra e il comando per ridurre al minimo. Come detto, meglio farlo aspettare in modo intelligente per la finestra, altrimenti non funzionerà quando il sistema è occupato (e quindi più lento). Inoltre, esiste il rischio di scontro tra nomi, poiché non si utilizza l'id della finestra, ma (parte di) il nome come identificatore. vedi askubuntu.com/a/663288/72216
Jacob Vlijm

Sono d'accordo con te. Ho persino pubblicato la mia versione dello script lì. Comunque uso ancora questo per il teamviewer.
Sergey,

0

2017 soluzione di lavoro!

Vengo dall'edizione Manjaro (XFCE), ma poiché si tratta di una soluzione cross-linux con devilspie, questa è la soluzione completa all'avvio di Visualizzatore team ridotto a icona:

  1. Terminale aperto

  2. Installa devilspiepacchetto:

    apt-get install devilspie
  3. Crea cartella home:

    mkdir ~/.devilspie
  4. Creare il seguente script (utilizzare qualsiasi editor desiderato anziché nano):

    nano ~/.devilspie/teamviewer.ds
  5. Incolla il seguente script e salva il file (per nano- CTRL + x , quindi Y , quindi INVIO ):

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    1. Dal devilspiepunto di vista della prospettiva, tutti i passaggi sono stati eseguiti, ma la finestra laterale "Computer e contatti" verrà comunque mostrata ad ogni avvio. Per nasconderlo, apri:

TeamViewer -> Extra -> Opzioni -> Avanzate -> "Mostra opzioni avanzate" -> "Mostra computer e contatti all'avvio" (Si trova nella sezione "Impostazioni avanzate per computer e contatti) e deseleziona.

I passaggi sono per TeamViewer 12 . In ulteriori versioni potrebbero essere diverse.

NOTA:

L'uso di (minimizza) invece di (chiuso) nello script devilspie mi ha portato all'errore "TeamViewer non pronto. Controlla la tua connessione" e senza il riavvio del servizio Visualizzatore team non ha funzionato.


0

nella nuova versione il programma ha già un'icona nella barra delle applicazioni, ma all'avvio vengono visualizzate due finestre principali del programma. Quindi sto usando questo script

#! /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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.