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


19

Voici une question qui me dérange. Vous savez comment configurer un programme à exécuter au démarrage, n'est-ce pas? Eh bien, comment puis-je lui dire de commencer minimisé, comme vous le feriez dans Windows?

TeamViewer commence à s'ouvrir, mais j'en ai besoin minimisé, et Tray-it ne semble tout simplement pas aussi élégant d'une manière de le faire.


Réponses:


21

Vous pouvez utiliser un outil appelé devilspie Installer devilspie .

Cet outil peut prendre des mesures dès le démarrage des programmes, comme l'envoi vers des espaces de travail, l'épinglage et également la réduction. 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 appelé ~/.devilspie/teamviewer.dset collez les lignes suivantes:

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

Si vous souhaitez une interface graphique pour une configuration plus facile, vous devriez prendre note de gdevilspie Installer gdevilspie

(si GDevilspie ne démarre pas, essayez d'en corriger un ).


1
Cela fonctionne, mais lorsque je restaure la fenêtre réduite, elle ne dessine pas correctement - l'arrière-plan de la fenêtre TeamViewer devient une copie de tout ce qui se trouve en dessous et du texte n'est pas visible, par exemple i.imgur.com/0p6yR.png (j'ai obscurci texte dans les trois zones de texte). D'autres applications de vin ne font pas cela (Notepad ++, Picasa).
misterben

5

Je suis tombé sur ce post avec le même problème que TeamViewer ne démarre pas minimisé lors de la configuration pour un lancement automatique lors du démarrage du système Ubuntu.
La méthode décrite par @MJB le 27 janvier à 16h02 a parfaitement fonctionné pour moi (j'utilise Ubuntu 10.10 32 bits, toutes les mises à jour installées jusqu'à cette date, avec teamviewer_linux_x32_v6.0.9224.deb).
Je ne ressens pas les pépins décrits par @misterben le 14 février à 18h50.
J'ai installé GDevilspie via Ubuntu Software Center, 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 est configuré pour démarrer automatiquement via Système -> Préférences -> Applications de démarrage (cliquez sur Ajouter, commande: teamviewer).

Ce serait génial si les développeurs de TeamViewer intégraient un commutateur de démarrage minimisé pour Linux ...

Merci MJB! :)


4

La minimisation d'un programme dépend du programme s'il le prend en charge ou non. Cela dépend aussi si le programme a une option dans l'interface graphique ou via la ligne de commande. Par exemple, vlc a une option dans les préférences qui donne la possibilité de le démarrer minimisé. Mais il a également 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 peuvent être program -minautres 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 de minimisation en ligne de commande, ajoutez-le simplement au gestionnaire de démarrage.


Teamviewer utilise Wine pour prendre en charge l'exécution sous Linux. Comme les versions Windows n'acceptent aucun paramètre de ligne de commande, la version Linux non plus. De plus, si l'on le minimise dans le plateau, il utilisera l'icône Wine, sauf s'il est fourni avec un autre par n'importe quel outil utilisé.
Greg Chabala

1

Je minimise également Teamviewer dans la barre d'état 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 icône
  • -d est une limite de 40 secondes, après quoi kdocker abandonnera s'il ne trouve pas de fenêtre correspondante

0

Depuis Teamviewer 8.0.20931, la fonction de barre d'état système est automatiquement réduite. Mais dans Gnome Classic, cela créera Wine System Tray et je ne sais pas comment le minimiser. J'ai essayé le script (enregistré sous ~ / .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 la connexion à l'écran de connexion Linux fonctionne - quand aucun utilisateur n'est encore connecté. Mais après un certain temps lorsque vous vous connectez et vous déconnectez environ deux fois - vous ne pouvez pas vous connecter à Teamviewer. Vous devez avoir un accès à distance via la ligne de commande pour redémarrer l'ordinateur - puis cela fonctionne à nouveau.


0

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 -ltrouvé 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. Dot au début du nom pour le cacher):

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 les fenêtres. Pour démarrer le programme minimisé, sur différents espaces de travail, trouvez les options appropriées dans le manuel du programme.


A moins que vous ne le fassiez "intelligemment" attendre la fenêtre, le succès dépendra du temps entre l'apparence de la fenêtre et la commande à minimiser. Comme dit, il vaut mieux attendre intelligemment la fenêtre, sinon cela ne fonctionnera pas lorsque votre système est occupé (et donc plus lent). En outre, il existe un risque de conflits de noms, car vous n'utilisez pas l'ID de fenêtre, mais (une partie de) le nom comme identifiant. voir askubuntu.com/a/663288/72216
Jacob Vlijm

Je suis d'accord avec toi. J'ai même posté ma version du script là-bas. J'utilise toujours celui-ci pour le visualiseur d'équipe.
Sergey

0

Solution de travail 2017!

Je viens de l'édition Manjaro (XFCE), mais comme il s'agit d'une solution cross-linux avec devilspie, voici donc la solution complète au démarrage de la visionneuse d'équipe minimisée:

  1. Terminal ouvert

  2. Installer le devilspiepackage:

    apt-get install devilspie
  3. Créer un dossier de départ:

    mkdir ~/.devilspie
  4. Créez le script suivant (utilisez n'importe quel éditeur de votre choix nano):

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

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

TeamViewer -> Extras -> Options -> Avancé -> "Afficher les options avancées" -> "Afficher les ordinateurs et les contacts au démarrage" (c'est sous "Paramètres avancés pour les ordinateurs et les contacts) et décochez-le.

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 not ready. Please check your connection" et sans redémarrage du service Team Viewer, cela n'a pas fonctionné.


0

dans la nouvelle version, le programme a déjà une icône dans la barre d'état, mais deux fenêtres principales du programme apparaissent au démarrage. J'utilise donc 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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.