web-dev-qa-db-fra.com

Comment puis-je dire à un programme de démarrage de démarrer minimisé?

Voici une question qui me dérange. Vous savez comment vous pouvez configurer un programme pour qu'il s'exécute correctement? Eh bien, comment puis-je lui dire de commencer minimisé, comme vous le feriez dans Windows?

TeamViewer est ouvert au début, mais il faut que ce soit minimisé. Tray-it ne semble tout simplement pas aussi élégant.

19
semi-newbie

Vous pouvez utiliser un outil appelé devilspieInstall devilspie .

Cet outil peut prendre des mesures dès que les programmes sont démarrés, comme envoyer aux espaces de travail, épingler et minimiser. Un tutoriel est ici .

  • Pour l'installer à partir de l'exécution en ligne de commande:

Sudo apt-get install devilspie.

  • Pour le configurer afin de minimiser Teamviewer chaque fois qu'il est exécuté:

    mkdir ~/.devilspie
    

Créez un fichier nommé ~/.devilspie/teamviewer.ds et collez les lignes suivantes:

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

Si vous souhaitez une interface graphique pour une configuration plus facile, vous devez noter gdevilspieInstall gdevilspie

(si GDevilspie ne démarre pas essayez-en un patché ).

21
MJB

Je suis tombé par hasard sur ce post avec le même problème de TeamViewer qui ne démarre pas minimisé lors de la configuration du lancement automatique lors du démarrage du système Ubuntu.
La méthode décrite par @MJB le 27 janvier à 16h02 fonctionnait parfaitement pour moi (j'utilise Ubuntu 10.10 32bit, toutes les mises à jour installées jusqu'à cette date, avec teamviewer_linux_x32_v6.0.9224.deb).
Je ne ressens pas les problèmes décrits par @misterben le 14 février à 18h50.
J'ai installé GDevilspie via Ubuntu Software Center, je l'ai exécuté, créé une nouvelle règle et configuré GDevilspie pour afficher le code suivant dans l'onglet "Raw":

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

Le démon devilspie est configuré pour démarrer automatiquement au démarrage du système et teamviewer pour démarrer automatiquement via Système -> Préférences -> Applications de démarrage (cliquez sur Ajouter, commande: teamviewer).

Ce serait bien que les développeurs de TeamViewer intègrent un commutateur de démarrage minimisé pour Linux bien que ...

Merci MJB! :)

5
qwertz

La minimisation d'un programme dépend du programme, qu'il le supporte ou non. Cela dépend également si le programme a une option dans l'interface graphique ou via une ligne de commande. Par exemple, vlc a une option dans les préférences qui donne la possibilité de la démarrer minimisée. Mais il a aussi une option en ligne de commande pour le démarrer minimisé (comme les paramètres). L'option de minimisation change également en fonction du programme. Certains programmes pourraient être program -min, d'autres pourraient être program -systray, etc. .. Vérifiez que Teamviewer, par exemple, a une option pour cela dans les options de l'interface graphique. Si le programme a un paramètre minimiser en ligne de commande, ajoutez-le simplement au gestionnaire de démarrage.

4
Luis Alvarado

Je minimise également Teamviewer sur le plateau au démarrage, mais j'utilise KDocker .

Sudo apt-get install kdocker

Mon script de démarrage est une ligne:

kdocker -n Teamviewer -i /opt/teamviewer/teamviewer/7/desktop/teamviewer.png -d 40 /usr/bin/teamviewer7 &
  • -n est le nom de la fenêtre
  • -i est le fichier d'icône
  • -d est une limite de 40 secondes, après quoi kdocker abandonnera s'il ne trouve pas de fenêtre correspondante
1
Greg Chabala

2017 solution de travail!

Je viens de Manjaro (XFCE), mais comme il s’agit d’une solution cross-linux avec devilspie, il s’agit donc de la solution complète pour le démarrage du visualiseur d’équipe:

  1. Terminal ouvert

  2. Installez le paquet devilspie:

    apt-get install devilspie
    
  3. Créer un dossier personnel:

    mkdir ~/.devilspie
    
  4. Créez le script suivant (utilisez n’importe quel éditeur à la place de nano):

    nano ~/.devilspie/teamviewer.ds
    
  5. Collez le script suivant et enregistrez le fichier (pour nano - CTRL + x, puis Y, alors ENTREZ):

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    
    1. Dans la perspective devilspie, toutes les étapes sont terminées, mais la fenêtre latérale "Ordinateurs et contacts" sera toujours affichée à chaque démarrage. Pour le cacher, ouvrez le:

TeamViewer -> Extras -> Options -> Avancé -> "Afficher les options avancées" -> "Afficher les ordinateurs et les contacts au démarrage" (Voir "Paramètres avancés pour Ordinateurs et Section Contacts) et décochez-la.

Les étapes sont pour TeamViewer 12. Dans d'autres versions, ils pourraient être différents.

REMARQUE:

L’utilisation de (minimiser) au lieu de (fermer) dans le script devilspie m’a apporté l’erreur "TeamViewer non prêt. Vérifiez votre connexion" et sans redémarrage du service Team Viewer, cela n’a pas fonctionné.

0
Erikas

Depuis Teamviewer 8.0.20931, la fonction de barre d'état système est automatiquement réduite. Mais dans Gnome classic, il va créer Wine System Tray et je ne sais pas comment le minimiser. J'ai essayé le script (enregistré sous le nom ~/.devilspie/wine.ds):

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

... Mais cela n'a pas fonctionné

Avec le nouveau Teamviewer 8.0.20931 pour Linux, même vous connecter à l’écran de connexion Linux fonctionne - quand aucun utilisateur n’est pas encore connecté. Mais après un certain temps lorsque vous vous connectez et vous déconnectez deux fois ou plus, vous ne pouvez plus vous connecter à Teamviewer. Vous devez avoir un accès à distance via la ligne de commande pour redémarrer l'ordinateur - cela fonctionnera à nouveau.

0
zeroconf

dans la nouvelle version, le programme contient déjà une icône, mais deux fenêtres principales du programme apparaissent au démarrage. Donc j'utilise ce 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
0
Andrey

Devilspie n'a pas fonctionné dans mon système pour une raison quelconque. Finalement, j'ai trouvé un substitut (pas si élégant). J'ai installé wmctrl:

Sudo apt-get install wmctrl

En utilisant wmctrl -l trouvé les noms des fenêtres, je voulais fermer au démarrage. Après cela, mettez ces commandes dans le script (créez un nouveau fichier vide et nommez-le .<...>.sh. Placez-le au début du nom pour le masquer):

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

Enfin, ajouté ce fichier aux applications de démarrage quelques secondes après les cibles.


Notez que cette commande ferme Windows. Pour démarrer un programme réduit, sur différents espaces de travail, recherchez les options appropriées dans le manuel du programme.

0
Sergey