Ich sah mich eine Weile um und konnte die Antwort auf mein folgendes Problem nicht herausfinden:
Ich habe unter Ubuntu 12.04 mit Unity sechs Desktops eingerichtet. Beim Start durchlaufe ich jeden Morgen die Routine, die gleichen fünf oder sechs Programme zu öffnen. Ich öffne jedes auf einem bestimmten Arbeitsbereich. Ich möchte dies automatisieren lassen. Gibt es eine Möglichkeit, dies zu skripten oder zu konfigurieren?
Zusätzliche Frage : Um die Angelegenheit weiter zu erschweren, starte ich zwei Bildschirme im Doppelansichtsmodus. Ich muss eigentlich jedes Programm auf einem bestimmten Bildschirm starten, vorzugsweise im Vollbildmodus.
unity
xorg
workspaces
x11
Jahn
quelle
quelle
Antworten:
Mit der Idee von jdp407, compizconfig zu verwenden, wird eine bestimmte Anwendung einem bestimmten Arbeitsbereich zugeordnet, sodass sie JEDES MAL, wenn diese Anwendung geöffnet wird, im entsprechenden Arbeitsbereich abgelegt wird. Wenn dies nicht gewünscht ist, können Sie Folgendes tun:
1) Installieren
wmctrl
2) Erstellen Sie eine Datei mit folgendem Inhalt und machen Sie sie ausführbar
3) Rufen Sie dieses Skript
.xsessionrc
in Ihrem Home-Verzeichnis auf, um den Vorgang bei jeder Anmeldung zu automatisieren. Oder Sie rufen es bei Bedarf einfach von einem Terminal aus an. BEARBEITEN: Legen Sie es in "Startup Applications", nicht .xsessionrc. .xsessionrc wird ausgeführt, noch bevor die Desktop-Umgebung vollständig geladen wurde.Möglicherweise möchten Sie eine benutzerdefinierte xsession wie in jdp407 vorgeschlagen erstellen, sodass Sie zwei Sitzungen zur Auswahl haben, eine, die diese Anwendungen automatisch öffnet, und eine, die dies nicht tut. Das erscheint mir aber unnötig.
Wenn Sie der Meinung sind, dass der Wechsel zu einem Arbeitsbereich, das Öffnen entsprechender Anwendungen und das anschließende Wechseln zum nächsten zeitaufwändig ist, können Sie alle Anwendungen auf einmal öffnen und dann die Fenster mithilfe von verschieben
wmctrl
. Beispielsweiseverschiebt ein Fenster mit Firefox als Titel in Arbeitsbereich 1. Wenn mehr als ein Fenster vorhanden ist, wird das erste in der Liste der von verwalteten Fenster
wmctrl
verschoben. Sie müssen den Titel der Fenster kennen, die von den Anwendungen erstellt werden, um dies zu verwenden. Deshalb habe ich dies nicht als primäre Option vorgeschlagen. Wenn Titel eindeutig sind, wie dies bei den am häufigsten verwendeten Apps der Fall ist, ist dies der richtige Weg.Anwendungen im Vollbildmodus öffnen:
Einige Anwendungen wie gnome-terminal verfügen über Befehlszeilenargumente, um ein Fenster im maximierten Zustand oder im Vollbildmodus zu öffnen. Wenn solche Optionen vorhanden sind, verwenden Sie sie. Ansonsten
wmctrl
wie folgt verwendenDies maximiert mein (bereits vorhandenes) Terminalfenster.
Dadurch wird das Fenster in den Vollbildmodus versetzt.
Sehen Sie sich die
wmctrl
Manpage von an. Möglicherweise finden Sie Verwendung für weitere Funktionen.quelle
wmctrl
Funktioniert hier einwandfrei (LXDE und XFCE, Compositing über xcompgr aktiviert)wmctrl -o X,Y
in Ubuntu 14.04, um zu einem bestimmten Ansichtsfenster zu wechseln. Wenn Sie über mehrere Monitore verfügen, können Sie Anwendungen auf den anderen Monitor verschiebenwmctrl -r "App name" -e G,X,Y,W,H
. Funktioniert gut mit Einheit visuellen Effekten.Hier gibt es zwei „Probleme“: Zum einen müssen Sie beim Anmelden bestimmte Programme öffnen. Zum anderen müssen sie in bestimmten Arbeitsbereichen geöffnet werden. Ich werde mich getrennt mit beiden befassen:
Erstellen einer benutzerdefinierten X-Sitzung
Das geht ganz einfach. Sie müssen lediglich ein X-Sitzungsskript erstellen und LightDM dann anweisen, es zu verwenden. Sie müssen die Befehle kennen, um die gewünschten Programme vom Terminal aus zu starten.
touch ~/.customxsession
und drücken Sie die Eingabetaste.gedit ~/.customxsession
und drücken Sie die Eingabetaste.touch /usr/share/xsessions/multi.desktop
und drücken Sie die Eingabetaste.gedit /usr/share/xsessions/multi.desktop
und drücken Sie die Eingabetaste.Zuweisen von Programmen zu Arbeitsbereichen
Dies ist ebenfalls recht einfach, erfordert jedoch eine zusätzliche Software, die nicht standardmäßig in Ubuntu installiert ist.
sudo apt-get install compizconfig-settings-manager
im Terminal ausführen ).Einloggen
Wenn Sie sich anmelden, müssen Sie Ubuntu mitteilen, dass Sie Ihre benutzerdefinierte X-Sitzung verwenden möchten.
Probleme
Vieles hätte schief gehen können, wenn Sie einen kleinen Fehler gemacht hätten oder wenn ich beim Schreiben dieser Antwort einen Fehler gemacht hätte. Wenn etwas schief geht, vergewissern Sie sich, dass Sie die Anweisungen befolgt haben, und korrigieren Sie alles, wenn Sie dies nicht getan haben. Wenn Sie immer noch ein Problem haben, hinterlassen Sie einen Kommentar.
~ / .customxsession:
/usr/share/xsessions/multi.desktop:
quelle
Fügen Sie die erforderlichen Anwendungen in StarupApplications Program hinzu, und fügen Sie dann auch dieses Skript hinzu. Dies ist mein Skript: ManageWorkSpaces.sh
// Fokus auf Terminal
Aber ich habe keine Ahnung, wie ich mit 2 Displays umgehen soll.
quelle
wmctrl -d
, habe ich nur einen "Desktop". Haben Sie dies auf Unity in Ubuntu 12.10 getestet?