web-dev-qa-db-fra.com

Awesome démarre deux fois les programmes

J'utilise Ubuntu sur un MacBook et j'utilise un moniteur externe. J'utilise donc xrandr pour éteindre le moniteur de l'ordinateur portable au démarrage si le moniteur externe est connecté avec ce petit script Ruby:

#!/usr/bin/Ruby

display = `xrandr -q | grep DP-1`.to_s

if !display.include? "disconnected"  then
   `xrandr --output LVDS-1 --off`
   `xrandr --output DP-1 --mode 1920x1080`
   sleep 3
end

J'utilise rc.lua pour lancer le script et quelques autres programmes dans génial:

...
awful.util.spawn_with_Shell("/home/jo/.config/awesome/setdisplay.rb")
awful.util.spawn_with_Shell("nm-applet")
awful.util.spawn_with_Shell("dropbox start")
awful.util.spawn_with_Shell("setxkbmap de")
awful.util.spawn_with_Shell("Thunderbird")
awful.util.spawn_with_Shell("google-chrome")
awful.util.spawn_with_Shell("Pidgin")
...

Le script de contrôle fonctionne bien mais malheureusement, certains des programmes sont démarrés deux fois, comme google-chrome et nm-applet. Je pense que tous les programmes sont démarrés deux fois mais que les autres programmes tels que dropbox, Thunderbird et donc n'autorisent qu'une seule instance. Je pense que oui parce que Thunderbird se plaint d'une autre instance en cours d'exécution.

Est-il possible qu'il y ait deux instances de awesome chacune démarrant les programmes et que lorsque le moniteur d'ordinateur portable est désactivé, les programmes sont déplacés vers l'instance impressionnante du moniteur externe? Des idées pour éviter cela?

3
Joachim

Dans le génial Wiki, il y a une page sur le démarrage automatique de l'application. Il existe également un exemple de code pour forcer les applications à ne s'exécuter qu'une seule fois, voir http://awesome.naquadah.org/wiki/Autostart

2
daks