[close]Programme nach login automatisch starten
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
[close]Programme nach login automatisch starten
Hi Freunde,
da ich mein Computer öfters mal runterfahre um ihn danach wieder einzuschalten, ist es äußerst nervig die gewünschten Programme gleich nach Benutzerlogin auszuwählen und an ihre Plätze auf den Bildschirmen zu schieben.
Gemeint ist ein (oder auch zwei) terminal, iceweasel, rythmbox usw.
Ich wollte wissen ob es die Möglichkeit gibt ein Shellscript, oder besser noch, ein eigenes Programm oder Werkzeug, was ich noch nicht kenne, zu nutzen, um diese Aufgabe abzugeben.
(deb 8 und gnome3)
ps. Falls ihr einen passenderen Betreff habt und auch einen besseren Standort für diesen Thread wisst gebt bescheid )
dankeschön
da ich mein Computer öfters mal runterfahre um ihn danach wieder einzuschalten, ist es äußerst nervig die gewünschten Programme gleich nach Benutzerlogin auszuwählen und an ihre Plätze auf den Bildschirmen zu schieben.
Gemeint ist ein (oder auch zwei) terminal, iceweasel, rythmbox usw.
Ich wollte wissen ob es die Möglichkeit gibt ein Shellscript, oder besser noch, ein eigenes Programm oder Werkzeug, was ich noch nicht kenne, zu nutzen, um diese Aufgabe abzugeben.
(deb 8 und gnome3)
ps. Falls ihr einen passenderen Betreff habt und auch einen besseren Standort für diesen Thread wisst gebt bescheid )
dankeschön
Zuletzt geändert von Prometheuss am 01.09.2015 23:47:54, insgesamt 1-mal geändert.
~ein Teil dieser Antwort könnte sie verunsichern.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: Programme nach login autamtisch starten
Gnome kennt sowas wie autostart. - Wo - keine Ahnung ich verwende sowas nicht. Was das Zurechtschieben der Fenster auf dem Bildschirm angeht, so schau dir mal wmctrl an - das kann sowas. Hab mir selbst ne kleine Anwendung geschrieben, die sich die Infos aus einer Steuerdatei holt und die Fenster mittels diesem Programm so auf dem Bildschirm verteilt, wie ich sie haben möchte (xmms, qjackctl, jackeq usw..).
Re: Programme nach login automatisch starten
zuallererst unterstützt Gnome soweit ich weiß, ganz ähnlich zu XFCE und KDE, die das afaik ebenfalls tun, immer noch das „Speichern der Sitzung“, das steht sogar in der Paketbeschreibung von gnome-session. Zum Einstellen ob gespeichert werden soll oder nicht gab es auch eine grafische Oberfläche (gnome-session-properties ?), allerdings kann ich davon auf meinem System nur Relikte finden (/usr/share/gnome-session/session-properties.ui aus gnome-session-bin). Soweit nicht besonders hilfreich…
…aber laut [1] genügt es eine Datei ~/.pam_environment anzulegen (falls nicht vorhanden) und dort die Zeile
hineinzuschreiben.
Eine weitere Herangehensweise, die ich noch davor ausprobieren würde, wäre mit Hilfe von dconf-editor den Wert von
org→gnome→gnome-session→auto-save-session
auf true (angehakt) zu setzen.
Dank dem Speichern der Sitzung sollten imho sowohl die zuletzt gelaufenen Anwendungen wieder gestartet werden, wie auch deren Fenstergröße und -position wiederhergestellt werden.
______
Unabhängig davon kann man Programme automatisch über .desktop-Dateien in ~/.config/autostart oder systemweit in /etc/xdg/autostart starten lassen. Mit dem gnome-tweak-tool gibt es für die benutzerspezifische Variante sogar ein grafisches Tool (gnome-tweak-tool/"Optimierungswerkzeug"→Startprogramme).
Das Ändern der Größe von Fenstern und solche Dinge kann man dann mit Kommandozeilenwerkzeugen skripten - ich habe mir zB zum Maximieren/Wiederherstellen mancher Fenster ein Skript mit xdotool und vor allem wmctrl geschrieben.
Oder du suchst dir Shell Extensions, die das gewünschte erledigen. zB enthält gnome-shell-extensions unter anderem die Erweiterung Auto Move Windows mit der man die Anwendungen zumindest auf den gewünschten Desktop verschieben kann und es gibt bestimmt noch einige Extensions mehr, die sich mit dem Thema befassen, zB vielleicht [2]
[1] http://askubuntu.com/questions/8834/how ... plications
[2] https://extensions.gnome.org/extension/39/put-windows/
…aber laut [1] genügt es eine Datei ~/.pam_environment anzulegen (falls nicht vorhanden) und dort die Zeile
Code: Alles auswählen
GNOME_SESSION_SAVE=1
Eine weitere Herangehensweise, die ich noch davor ausprobieren würde, wäre mit Hilfe von dconf-editor den Wert von
org→gnome→gnome-session→auto-save-session
auf true (angehakt) zu setzen.
Dank dem Speichern der Sitzung sollten imho sowohl die zuletzt gelaufenen Anwendungen wieder gestartet werden, wie auch deren Fenstergröße und -position wiederhergestellt werden.
______
Unabhängig davon kann man Programme automatisch über .desktop-Dateien in ~/.config/autostart oder systemweit in /etc/xdg/autostart starten lassen. Mit dem gnome-tweak-tool gibt es für die benutzerspezifische Variante sogar ein grafisches Tool (gnome-tweak-tool/"Optimierungswerkzeug"→Startprogramme).
Das Ändern der Größe von Fenstern und solche Dinge kann man dann mit Kommandozeilenwerkzeugen skripten - ich habe mir zB zum Maximieren/Wiederherstellen mancher Fenster ein Skript mit xdotool und vor allem wmctrl geschrieben.
Oder du suchst dir Shell Extensions, die das gewünschte erledigen. zB enthält gnome-shell-extensions unter anderem die Erweiterung Auto Move Windows mit der man die Anwendungen zumindest auf den gewünschten Desktop verschieben kann und es gibt bestimmt noch einige Extensions mehr, die sich mit dem Thema befassen, zB vielleicht [2]
[1] http://askubuntu.com/questions/8834/how ... plications
[2] https://extensions.gnome.org/extension/39/put-windows/
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
Die Fenster bleiben schonmal erhalten, nur die Größe sowohl die Position sind so als würde ich sie manuell öffnen.smutbert hat geschrieben: Eine weitere Herangehensweise, die ich noch davor ausprobieren würde, wäre mit Hilfe von dconf-editor den Wert von
org→gnome→gnome-session→auto-save-session
auf true (angehakt) zu setzen.
Dank dem Speichern der Sitzung sollten imho sowohl die zuletzt gelaufenen Anwendungen wieder gestartet werden, wie auch deren Fenstergröße und -position wiederhergestellt werden.
gtt startet die Programme zwar, aber keins an der gewünschten Position. Könnte man denn überhaupt der zuerst geöffneten shell sagen sie soll beim öffnen script xy ausführen?
extensions benutze ich nicht so gerne, da ich darüber schnell Überblick und Kontrolle verliere und sich entsprechend schnell der Müll ansammelt. (auto-move ist zwar schon dabei verschiebt aber nur die fenster von Arbeitsfläche zu Arbeitsfläche)
ich hab mal wmctrl und xdotool geholt aber mir ist auch durch die manpages nicht ganz klar wie ich die dazu bringe, dass die fenster entprechend verschoben werden. ich studier noch ein wenig diese werkzeuge.
selbes spielpferdefreund hat geschrieben:Gnome kennt sowas wie autostart. - Wo - keine Ahnung ich verwende sowas nicht. Was das Zurechtschieben der Fenster auf dem Bildschirm angeht, so schau dir mal wmctrl an - das kann sowas. Hab mir selbst ne kleine Anwendung geschrieben, die sich die Infos aus einer Steuerdatei holt und die Fenster mittels diesem Programm so auf dem Bildschirm verteilt, wie ich sie haben möchte (xmms, qjackctl, jackeq usw..).
~ein Teil dieser Antwort könnte sie verunsichern.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: Programme nach login automatisch starten
Da sollte dann doch wmctrl dein Freund sein. Per wmctrl die Fenstergrößen und Positionen ermitteln und dann ein kleines Startscript so in etwa:
Hier noch das kleine C-Programm - da müsstest du allerdings die Funktionen wie readhigh usw ersetzen, da habe ich ne eigene Lib dafür
readhigh eventuell per fgets und Konsorten und nonewline() entsorgt Zeilenumbrüche.
Hinweis an die professionellen C-Programmierer. Ich habe das Programmieren noch auf ner S/370 148 in Asssembler und PL/1 und Cobol gelernt und mir C selber beigebracht. Das ist vermutlich nicht wirklich guter C-Stil - aber, das zählt für mich - es funktioniert.
dem - zumindest bei mir - ein paar Zahlenwerte manuell anzupassen - aber die Richtung stimmt. Musst du halt probieren.
Code: Alles auswählen
#!/bin/bash
# starten der Programme
/usr/bin/quackctl & das &, damit die in den Hintergrund wandern
/usr/bin/irgendwas &
sleep 5 <<< hier testen, wie lange die normalerweise zum Start brauchen und anpassen.
# Fenster anpassen und plazieren
wmctrl hier deine Fenster-Parameter und gut ist. " Syntax habe ich jetzt nicht auswendig im Kopf - aber da hat mir die manpage geholfen
.so oft wiederholen, wie du Programme hast und entsprechend Parameter anpassen.
readhigh eventuell per fgets und Konsorten und nonewline() entsorgt Zeilenumbrüche.
Hinweis an die professionellen C-Programmierer. Ich habe das Programmieren noch auf ner S/370 148 in Asssembler und PL/1 und Cobol gelernt und mir C selber beigebracht. Das ist vermutlich nicht wirklich guter C-Stil - aber, das zählt für mich - es funktioniert.
Das Programm kann auch die Positionen ermitteln und entsprechend wegschreiben. Allerdings sind dann in der Datei je nach// REPORT :WMMAN
// VERSION :1.0
// ********************************************************************************
// AUFTRAGSNR:Ticket: INTERN
// ********************************************************************************
// KURZBESCHR:Steuerprogramm fuer den Windowmanager
// ********************************************************************************
// ANLAGE/AENDERUNG:20150423
// PROGRAMMBESCHREIBUNG:
// Das Programm dient zur Steuerung des Windowmanagers.
// Es koennen Fenster und ihre Position gesichert werden und
// auch wieder in diese Positionen gebracht werden.
// ********************************************************************************
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <libpferd.h> die hast du nicht - entsprechend Lesefunktionen anpassen
#include <tzn.h>
int rc = 0;
char action[10];
char datei[256];
char befehl[80];
char esatz[1024];
char homedir[80];
int g; // grav
int x; // x-pos of Window
int y; // y-pos of window;
int w; // width
int h; // hight
char wname[512];
char dummy[512];
/* Dateien (Pipe und Config */
FILE *pfeiffe = NULL;
FILE *config = NULL;
/* Interne Funktionen */
void sichern(void);
void laden(void);
int main(int argc, char *argv[]) {
printf("wmman Version 1.0\n");
#include <tzp.h>
/* pruefen der Parameter */
if (argc < 3) {
printf("2 Parameter notwendig\n");
printf("1. Parameter - funktion l oder s\n");
printf(" l=load s=save\n");
printf("2. Parameter Datei\n");
exit(1);
}
/* Verzeichnis ist fest verdrahtet - /home/wm/ */
strncpy(action,argv[1],1);
strcpy(datei,getenv("HOME"));
strcat(datei,"/wm/");
strncat(datei,argv[2],255);
printf("%s%s%s\n",action," - ",datei);
/* schaun mer mal, was zu tun ist */
if (action[0] == 's') {
sichern();
}
else {
laden();
}
return rc;
}
void sichern() {
int bytes;
int rc;
strcpy(befehl,"wmctrl -lG");
pfeiffe = popen(befehl,"r");
if (pfeiffe == NULL) {
perror("Fehler open pfeiffe");
exit(1);
}
config = fopen(datei,"w");
if (config == NULL) {
perror ("Fehler open config-Datei(output)");
exit(1);
}
lesen:
bytes = readhigh(1023, pfeiffe, esatz);
if (bytes < 1) goto endlesen;
sscanf(esatz,"%s%i%i%i%i%i%s%s",dummy,&g,&x,&y,&w,&h,dummy,wname);
if (y <= 17) y = 0;
printf("%-20s%c%i%c%i%c%i%c%i%c%i\n",wname,' ',g,' ',x,' ',
y,' ',w,' ',h);
fprintf(config,"%-20s%c%i%c%i%c%i%c%i%c%i\n",wname,' ',g,' ',x,' ',
y,' ',w,' ',h);
goto lesen;
endlesen:
rc = pclose(pfeiffe);
if (rc != 0) {
perror("Fehler Close pfeiffe");
exit(1);
}
rc = fclose(config);
if (rc != 0) {
perror("Fehler Close config");
exit(1);
}
return;
}
void laden() {
int bytes;
int rc;
char wname[512];
char g[6]; // Bedeutung, wie im globalen Teil
char x[6]; // 6 bytes - max 4 fuer zahl, 1 fuer vorzeichen 1 fuer \0
char y[6];
char w[6];
char h[6];
char above[512];
config = fopen(datei,"r");
if (config == NULL) {
perror ("Fehler open config-Datei(input)");
exit(1);
}
lesen:
bytes = readhigh(1023,config,esatz);
if (bytes < 1) goto endlesen;
nonewline(esatz);
sscanf(esatz,"%s%s%s%s%s%s%s",wname,g,x,y,w,h,above);
// printf("%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",
// wname,g,x,y,w,h,above);
/* Befehl zusammenbauen */
strcpy(befehl,"wmctrl -r ");
strcat(befehl,wname);
strcat(befehl," -e ");
strcat(befehl,g);
strcat(befehl,",");
strcat(befehl,x);
strcat(befehl,",");
strcat(befehl,y);
strcat(befehl,",");
strcat(befehl,w);
strcat(befehl,",");
strcat(befehl,h);
rc = system(befehl);
if (rc != 0) {
printf("Fehler bei:\n");
printf("%s\n",befehl);
}
/* Pruefen, ob Fenster in Vordergrund soll */
bytes = strlen(above);
if (bytes < 2) goto lesen;
strcpy(befehl,"wmctrl -r ");
strcat(befehl,wname);
strcat(befehl," -b add,above");
rc = system(befehl);
if (rc != 0) {
printf("Fehler bei:\n");
printf("%s\n",befehl);
}
strcpy(above,"");
goto lesen;
endlesen:
rc = fclose(config);
if (rc != 0) {
perror("Fehler Close config");
exit(1);
}
return;
}
dem - zumindest bei mir - ein paar Zahlenwerte manuell anzupassen - aber die Richtung stimmt. Musst du halt probieren.
Re: Programme nach login automatisch starten
Ein kleines Beispiel mit wmctrl:
verschiebt das aktive Fenster, wenn man das in einem Terminal ausprobiert also das Terminalfenster, 80 Pixel unter den oberen Bildschirmrand, 80 Pixel rechts des linken Bildschirmrandes und macht das Fenster 640x480 Pixel groß.
Darüber hinaus kann man statt "-r :ACTIVE:" auch "-r gedit" schreiben um ein gedit Fenster statt des aktiven zu verändern. Die Manpage von wmctrl ist für weitere Anwendungsfälle sehr hilfreich und es finden sich auch zahlreiche weitere Beispiele im Netz.
Code: Alles auswählen
$ wmctrl -r :ACTIVE: -e 1,80,80,640,480
Darüber hinaus kann man statt "-r :ACTIVE:" auch "-r gedit" schreiben um ein gedit Fenster statt des aktiven zu verändern. Die Manpage von wmctrl ist für weitere Anwendungsfälle sehr hilfreich und es finden sich auch zahlreiche weitere Beispiele im Netz.
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
Mit c bzw. c++ bin ich noch nicht so Fit, da bin ich grad bei "wie die for-schleife funktioniert kap.4" da muss erst noch ein Bisschen mehr knowhow her. (glücklicherweise ist die sprache mehr oder weniger stark an die Bashsyntax angelehnt, oder umgekehrt?! na egal)pferdefreund hat geschrieben:Da sollte dann doch wmctrl dein Freund sein. Per wmctrl die Fenstergrößen und Positionen ermitteln und dann ein kleines Startscript so in etwa:Hier noch das kleine C-Programm - da müsstest du allerdings die Funktionen wie readhigh usw ersetzen, da habe ich ne eigene Lib dafürCode: Alles auswählen
#!/bin/bash # starten der Programme /usr/bin/quackctl & das &, damit die in den Hintergrund wandern /usr/bin/irgendwas & sleep 5 <<< hier testen, wie lange die normalerweise zum Start brauchen und anpassen. # Fenster anpassen und plazieren wmctrl hier deine Fenster-Parameter und gut ist. " Syntax habe ich jetzt nicht auswendig im Kopf - aber da hat mir die manpage geholfen .so oft wiederholen, wie du Programme hast und entsprechend Parameter anpassen.
readhigh eventuell per fgets und Konsorten und nonewline() entsorgt Zeilenumbrüche.
Hinweis an die professionellen C-Programmierer. Ich habe das Programmieren noch auf ner S/370 148 in Asssembler und PL/1 und Cobol gelernt und mir C selber beigebracht. Das ist vermutlich nicht wirklich guter C-Stil - aber, das zählt für mich - es funktioniert.
-*verweis auf originalkommentar*->edit promtheus
Das Programm kann auch die Positionen ermitteln und entsprechend wegschreiben. Allerdings sind dann in der Datei je nach
dem - zumindest bei mir - ein paar Zahlenwerte manuell anzupassen - aber die Richtung stimmt. Musst du halt probieren.
Faszinierend wie hilfreich eine Źeile zur Veranschaulichung eines Programms sein kann. Wie im Post vorher kann ich nur sagen, ich probier mal aus und guck mir das noch genauer an. Jetzt weiß ich aber wie wmctrl wirkt.smutbert hat geschrieben:Ein kleines Beispiel mit wmctrl:verschiebt das aktive Fenster, wenn man das in einem Terminal ausprobiert also das Terminalfenster, 80 Pixel unter den oberen Bildschirmrand, 80 Pixel rechts des linken Bildschirmrandes und macht das Fenster 640x480 Pixel groß.Code: Alles auswählen
$ wmctrl -r :ACTIVE: -e 1,80,80,640,480
Darüber hinaus kann man statt "-r :ACTIVE:" auch "-r gedit" schreiben um ein gedit Fenster statt des aktiven zu verändern. Die Manpage von wmctrl ist für weitere Anwendungsfälle sehr hilfreich und es finden sich auch zahlreiche weitere Beispiele im Netz.
Danke dafür und weiteres bekommt ihr auf die Ohren/Augen wenn ich meine ersten Versuche starte die einfach nicht funktionieren wollen
(ich versuchs mal mit nem shellscript, das geht schon eher bei mir.)
ps. was bedeutet die 1 bei :-> wmctrl -r :ACTIVE: -e 1,xxx,xxx,xxx,xxx in der manpage steht was von "gravity of the window" und dass der default wert 0 ist. was hat es damit auf sich?
pps.die "sitzung-speichern" Funktion ist ohne weitergehende Konfiguration überhaupt nicht zu gebrauchen..
Zuletzt geändert von Prometheuss am 01.09.2015 18:31:40, insgesamt 1-mal geändert.
~ein Teil dieser Antwort könnte sie verunsichern.
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
Folgendes:
ich mach mir grad mein Script mit der Bash und setze dabei voll auf wmctrl.
Wie kann wmctrl die Fenster untereinander entscheiden wenn ich mehrere Fenster gleichen Names habe?
Ich mein die unterscheiden sich zwar durch ihre hex werte,aber diese werden ja zufällig entschieden oder? Das Problem hab ich halt ausschließlich bei mehr als einem geöffnetem Terminal/Browser. (ich nutze iceweasel falls notwendig ist, das zu wissen)
Das Ziel ist:
Beim einschalten ein Terminal öffnen, Programmbefehl eintippen und an einem Bildschirm sitzen der genauso die Fenster managed wie ich sie haben will/ wie ich immer arbeite / wie ich sie brauche
ich mach mir grad mein Script mit der Bash und setze dabei voll auf wmctrl.
Wie kann wmctrl die Fenster untereinander entscheiden wenn ich mehrere Fenster gleichen Names habe?
Ich mein die unterscheiden sich zwar durch ihre hex werte,aber diese werden ja zufällig entschieden oder? Das Problem hab ich halt ausschließlich bei mehr als einem geöffnetem Terminal/Browser. (ich nutze iceweasel falls notwendig ist, das zu wissen)
Das Ziel ist:
Beim einschalten ein Terminal öffnen, Programmbefehl eintippen und an einem Bildschirm sitzen der genauso die Fenster managed wie ich sie haben will/ wie ich immer arbeite / wie ich sie brauche
~ein Teil dieser Antwort könnte sie verunsichern.
Re: Programme nach login automatisch starten
Hehe, bin mir nicht sicher, ob ich gravity richtig verstanden habe und damit bin ich wohl nicht alleine
deshalb gibt es von mir nur einen Link:
[Solved] Was bedeutet Gravity bei wmctrl -e?
Das Auswählen des passenden Fensters ist ein Problem. Ich wollte bis jetzt in Skripten immer nur das Fenster im Vordergrund manipulieren, deshalb fehlen mir vielleicht die Ideen.
Wenn man jedenfalls einen String angibt, der dann im Fenstertitel vorkommen muss, wird das erste (das läuft bei mir immer auf das älteste ! hinaus) passende herangezogen. Wenn du ein Programm in einem Skript startest, könntest du vielleicht die Ausgabe von
vor und nach dem Starten des Programms vergleichen um zum richtigen Fenster zu kommen und es gibt Programme, bei denen du beim Start den Fenstertitel selbst bestimmten kannst, wie zB bei manchen Terminals (afaik nicht aber beim aktuellen gnome-terminal).
Quelle[…][…]
- gravity — I’m not sure what this
- 0 means ‘default’ and the coordinates of 0,0 will move the window too high up.
- 1 seems to look good for me.
deshalb gibt es von mir nur einen Link:
[Solved] Was bedeutet Gravity bei wmctrl -e?
Das Auswählen des passenden Fensters ist ein Problem. Ich wollte bis jetzt in Skripten immer nur das Fenster im Vordergrund manipulieren, deshalb fehlen mir vielleicht die Ideen.
Wenn man jedenfalls einen String angibt, der dann im Fenstertitel vorkommen muss, wird das erste (das läuft bei mir immer auf das älteste ! hinaus) passende herangezogen. Wenn du ein Programm in einem Skript startest, könntest du vielleicht die Ausgabe von
Code: Alles auswählen
$ wmctrl -l
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
Man kann ja auch mit " wmctrl -r WIN -T name "den Namen zu "name" ändern. Ich hätte einfach direkt nach dem öffnen eines neuen Fensters dessen Namen einer Reihenfolge aufsteigender zahlen zugeordnet.
PROBLEM:
nach abschicken des obengenannten Kommandos ist für ein kurzen Augenblick (vielleicht ne milisekunde oder auch 10) der name zu erkennen. wechselt dann aber wieder zurück.
Der "returnwert" ist 0 daher muss das Problem irgendwo anders liegen. Was kann das sein?
PROBLEM:
nach abschicken des obengenannten Kommandos ist für ein kurzen Augenblick (vielleicht ne milisekunde oder auch 10) der name zu erkennen. wechselt dann aber wieder zurück.
Der "returnwert" ist 0 daher muss das Problem irgendwo anders liegen. Was kann das sein?
~ein Teil dieser Antwort könnte sie verunsichern.
Re: Programme nach login automatisch starten
Da dürfte das Programm selbst seinen Titel wieder auf den ursprünglichen setzen. Das gnome-terminal verhält sich zB so wie du beschrieben hast, es passt seinen Titel aber auch laufend an das Verzeichnis an, in dem man sich momentan in der Shell befindet. Dagegen funktioniert das Setzen des Titels bei vlc bei mir wie erwartet, bis man etwas neues/anderes abspielt, was den Titel dann wieder ändert.
edit:
Es scheint nur generell bei Gnome-Programmen nicht zu funktionieren.
edit:
Es scheint nur generell bei Gnome-Programmen nicht zu funktionieren.
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
vlc?smutbert hat geschrieben:Da dürfte das Programm selbst seinen Titel wieder auf den ursprünglichen setzen. Das gnome-terminal verhält sich zB so wie du beschrieben hast, es passt seinen Titel aber auch laufend an das Verzeichnis an, in dem man sich momentan in der Shell befindet. Dagegen funktioniert das Setzen des Titels bei vlc bei mir wie erwartet, bis man etwas neues/anderes abspielt, was den Titel dann wieder ändert.
edit:
Es scheint nur generell bei Gnome-Programmen nicht zu funktionieren.
~ein Teil dieser Antwort könnte sie verunsichern.
Re: Programme nach login automatisch starten
VideoLANClient - der Video/Audioplayer/-streamer/-…: vlc
(dachte den hätte jeder installiert, auch wenn er nicht immer problemlos funktioniert)
(dachte den hätte jeder installiert, auch wenn er nicht immer problemlos funktioniert)
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
ach den vlcsmutbert hat geschrieben:VideoLANClient - der Video/Audioplayer/-streamer/-…: vlc
(dachte den hätte jeder installiert, auch wenn er nicht immer problemlos funktioniert)
Ich dachte grad an ein Werkzeug was Super-Kuh-Kräfte hat, und eine ähnliche Funktion wie wmctrl besitzt. War grad so im Thema, dachte erst was will er denn mit dem Abspielprogramm vlc. Erst beim zweiten mal lesen wurde mir klar was du sagen wolltest
Wie verhält sich das eigentlich in der Shell wenn ich /usr/bin/iceweasel aufrufe? ich kann die Shell dann solange nicht benutzen wie die das Programm offen ist, ist doch blöd, gibts da ein Kniff für? (also der prompt ist weg)
Hast du ne Idee wie die Namensgebung bindent ist? Muss ja nur so lange halten bis das Fenster an Ort und Stelle ist.
~ein Teil dieser Antwort könnte sie verunsichern.
Re: Programme nach login automatisch starten
Habs halt einfach mit den Fenstern ausprobiert, die bei mir gerade offen waren ☺…
Für das andere hat der Freund der Pferde doch schon die Lösung gepostet, entweder ein & anhängen
dann wird das Programm "im Hintergrund" ausgeführt und man kann es mit dem Befehl "fg" wieder in den Vordergrund holen, die Textmeldungen landen aber nach wie vor auf der Konsole, was man mit einer Ausgabeumleitung ändern kann
dann lässt sich das Programm aber nicht mehr in den Vordergrund holen. Das funktioniert auch in Skripten. Oder bei Interaktiven Shells (also dem Terminalfenster) kann man das Programm, das im Vordergrund läuft auch mit <Ctrl>+<z> in den Hintergrund befördern.
In einem Skript wirst du dann, wenn du ein Programm startest eine kurze Wartezeit einlegen müssen, bis das Fenster auch da ist, bevor du es mit wmctrl verschieben oä kannst, aber auch das hat Pferdefreund bereits geschrieben.
Wenn du außerdem laufend etwas automatisiert mit Fenstern machen willst, auf die irgendein Muster passt, dann sieh dir eventuell devilspie oder devilspie2 an - ich kenn mich damit überhaupt nicht aus, aber hier gibts eine kurze Einleitung:
https://wiki.ubuntuusers.de/devilspie
siehe auch
https://wiki.gnome.org/action/show/Proj ... =DevilsPie
http://www.gusnan.se/devilspie2/
Für das andere hat der Freund der Pferde doch schon die Lösung gepostet, entweder ein & anhängen
Code: Alles auswählen
$ iceweasel &
Code: Alles auswählen
$ iceweasel > /dev/null &
In einem Skript wirst du dann, wenn du ein Programm startest eine kurze Wartezeit einlegen müssen, bis das Fenster auch da ist, bevor du es mit wmctrl verschieben oä kannst, aber auch das hat Pferdefreund bereits geschrieben.
Wenn du außerdem laufend etwas automatisiert mit Fenstern machen willst, auf die irgendein Muster passt, dann sieh dir eventuell devilspie oder devilspie2 an - ich kenn mich damit überhaupt nicht aus, aber hier gibts eine kurze Einleitung:
https://wiki.ubuntuusers.de/devilspie
siehe auch
https://wiki.gnome.org/action/show/Proj ... =DevilsPie
http://www.gusnan.se/devilspie2/
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
okay das hab ich ehrlich gesagt nicht verstanden, was pferdefreund meinte. ich hab das &-zeichen einfach als "und" abkürzung verstanden.
Das mit der kurzen Wartezeit ist einleuchtend.
Zu devilspie kann ich auch nicht viel sagen, ich hab auch schon über Google davon erfahren, nur bringt mir halt nicht viel. Es kann zwar die Fenster voneinander unterscheiden, aber wenn zwei gleichnamige da sind hab ich das gleiche Problem wie bei wmctrl.
Aber ihr habt mir schon ein riesen Stück weiter geholfen, Danke
falls euch noch was dazu einfällt immer her damit, noch bin ich nicht ganz am Ziel.
Das mit der kurzen Wartezeit ist einleuchtend.
Zu devilspie kann ich auch nicht viel sagen, ich hab auch schon über Google davon erfahren, nur bringt mir halt nicht viel. Es kann zwar die Fenster voneinander unterscheiden, aber wenn zwei gleichnamige da sind hab ich das gleiche Problem wie bei wmctrl.
Aber ihr habt mir schon ein riesen Stück weiter geholfen, Danke
falls euch noch was dazu einfällt immer her damit, noch bin ich nicht ganz am Ziel.
~ein Teil dieser Antwort könnte sie verunsichern.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: [close]Programme nach login automatisch starten
Noch ein Tip - für das Problem der doppelten Fensternamen. Viele Progamme - insbesondere die Terminals rxvt, xterm usw haben einen Parameter, um den Fenstertitel zu setzen. Damit sollten sich viele "Doppelte" vermeiden lassen. Einfach mal in der manpage des entsprechenden Programmes nachschauen. Es gibt eventuell sogar Parameter, die an das entsprechende Toolkit weitergereicht werden z.B GTK, QT oder was auch immer, um sowas zu erreichen. In den Programmen werden oftmals erst mal alle Parameter an die Initialisierungsaufrufe der entsprechenden Toolkits durchgereicht und dann erst vom Programm selber ausgewertet. Das Problem mit den doppelten sollte sich auf jeden Fall lösen lassen.
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: [close]Programme nach login automatisch starten
Da muss ich noch mal ein wenig nachschlagen, ich weiß das xterm das Terminal nur emuliert, da das eigentliche Terminal mal was "ganz anderes" war. wie jetzt aber mein xfce4 terminal und Gnome in dieses Puzzle passen muss ich aber nochmal schauen.pferdefreund hat geschrieben:Noch ein Tip - für das Problem der doppelten Fensternamen. Viele Progamme - insbesondere die Terminals rxvt, xterm usw haben einen Parameter, um den Fenstertitel zu setzen. Damit sollten sich viele "Doppelte" vermeiden lassen. Einfach mal in der manpage des entsprechenden Programmes nachschauen. Es gibt eventuell sogar Parameter, die an das entsprechende Toolkit weitergereicht werden z.B GTK, QT oder was auch immer, um sowas zu erreichen. In den Programmen werden oftmals erst mal alle Parameter an die Initialisierungsaufrufe der entsprechenden Toolkits durchgereicht und dann erst vom Programm selber ausgewertet. Das Problem mit den doppelten sollte sich auf jeden Fall lösen lassen.
Davon lass ich also erst mal lieber die Finger, nicht dass ich da noch was kaputt mache.
Ps. sorgt gnome nicht irgendwie für die fenstertitel/id?
~ein Teil dieser Antwort könnte sie verunsichern.
Re: Programme nach login automatisch starten
An der Stelle habe ich vergessen etwas zu erwähnen:smutbert hat geschrieben:[…] bei Interaktiven Shells (also dem Terminalfenster) kann man das Programm, das im Vordergrund läuft auch mit <Ctrl>+<z> in den Hintergrund befördern.
[…]
Wenn du in einem Terminal ein laufendes Programm mit <Ctrl>+<z> in den Hintergrund beförderst, dann wird dieses Programm zusätzlich gestoppt. Du musst also explizit
Code: Alles auswählen
$ bg
Code: Alles auswählen
$ fg
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: Programme nach login automatisch starten
ich hab das mal testhalber versucht. wenn ich mitsmutbert hat geschrieben:An der Stelle habe ich vergessen etwas zu erwähnen:smutbert hat geschrieben:[…] bei Interaktiven Shells (also dem Terminalfenster) kann man das Programm, das im Vordergrund läuft auch mit <Ctrl>+<z> in den Hintergrund befördern.
[…]
Wenn du in einem Terminal ein laufendes Programm mit <Ctrl>+<z> in den Hintergrund beförderst, dann wird dieses Programm zusätzlich gestoppt. Du musst also explizitaufrufen, um es im Hintergrund weiterlaufen zu lassen oderCode: Alles auswählen
$ bg
dann läuft es wieder im Vordergrund weiter.Code: Alles auswählen
$ fg
Code: Alles auswählen
/usr/bin/iceweasel (extra ohne "&")
komisch ist auch, dass wenn iceweasel bereits offen ist das auch ohne"&" zeichen in den hintergrund rückt.
in einem anderen grad aktuellen thread ist eine ähnliche fehlermeldung aufgetaucht wie bei mir wenn ich iceweasel über die shell starte:
Code: Alles auswählen
:~$ /usr/bin/iceweasel
(process:5962): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
naja,egal
ps. ich verfolge weiter besagten thread. Dieses thema hat mich gepackt, ich lass erst locker wenn ich das verstehe!
~ein Teil dieser Antwort könnte sie verunsichern.
Re: [close]Programme nach login automatisch starten
Iceweasel habe ich nicht hier zum Testen, aber es muss auch mit Iceweasel funktionieren, nur darfst du das Ctrl+z nicht an den Iceweasel schicken sondern an die Shell, das Terminalfenster muss also das aktive sein, nicht das neu gestartete Iceweaselfenster!
Das andere ist, dass das Iceweasel-Kommando sich damit begnügt eine bereits vorhandene Instanz zu steuern. Das machen relativ viele Programme so, das heißt du setzt eigentlich nur den Befehl ab, was du in der bereits laufenden Programminstanz machen willst, deshalb bleibt im Terminal nichts davon übrig.
Und das dritte, Warnungen oder harmlose Fehlermeldungen hat man mit den allermeisten X-Programmen. Solange es trotzdem funktioniert → einfach ignorieren.
Zum eigentlichen Thema habe ich vorläufig keine Ideen mehr, aber wenn mir doch noch etwas einfällt, dann werde ich bestimmt an diesen Thread denken ☺
Das andere ist, dass das Iceweasel-Kommando sich damit begnügt eine bereits vorhandene Instanz zu steuern. Das machen relativ viele Programme so, das heißt du setzt eigentlich nur den Befehl ab, was du in der bereits laufenden Programminstanz machen willst, deshalb bleibt im Terminal nichts davon übrig.
Und das dritte, Warnungen oder harmlose Fehlermeldungen hat man mit den allermeisten X-Programmen. Solange es trotzdem funktioniert → einfach ignorieren.
Zum eigentlichen Thema habe ich vorläufig keine Ideen mehr, aber wenn mir doch noch etwas einfällt, dann werde ich bestimmt an diesen Thread denken ☺
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: [close]Programme nach login automatisch starten
dacht ich mir schon fastsmutbert hat geschrieben:Iceweasel habe ich nicht hier zum Testen, aber es muss auch mit Iceweasel funktionieren, nur darfst du das Ctrl+z nicht an den Iceweasel schicken sondern an die Shell, das Terminalfenster muss also das aktive sein, nicht das neu gestartete Iceweaselfenster!
ne ich hab zwei bildschirme. auf dem sekundären meine shell und auf dem primären wird dann iceweasel geöffnet.(dahinter ist dann noch ein anderes programm offen) mit ctrl+z sollte doch dann iceweasel "hinter" das andere programm rutschen oder? PID und so bleibt aber komplett gleich ne?
okay für die zukunft vermerktsmutbert hat geschrieben:Und das dritte, Warnungen oder harmlose Fehlermeldungen hat man mit den allermeisten X-Programmen. Solange es trotzdem funktioniert → einfach ignorieren.
merci ist ein ungutes gefühl ein programm halbfertig zu benutzensmutbert hat geschrieben:Zum eigentlichen Thema habe ich vorläufig keine Ideen mehr, aber wenn mir doch noch etwas einfällt, dann werde ich bestimmt an diesen Thread denken ☺
~ein Teil dieser Antwort könnte sie verunsichern.
Re: [close]Programme nach login automatisch starten
Mit diesem Mißverständnis habe ich nicht gerechnetPrometheuss hat geschrieben:(dahinter ist dann noch ein anderes programm offen) mit ctrl+z sollte doch dann iceweasel "hinter" das andere programm rutschen oder?
<Ctrl>+<z> macht dir im Terminal die Eingabeaufforderung wieder frei, mit dem Iceweaselfenster selbst macht das gar nichts, außer dass es erst einmal einfriert, weil die Ausführung von Iceweasel unterbrochen und erst wieder mit fg oder bg im Terminal fortgesetzt wird.
- Prometheuss
- Beiträge: 158
- Registriert: 10.02.2015 21:45:52
Re: [close]Programme nach login automatisch starten
Achsooooo. Man der Stein lag ja aber mal richtig quer
Danke smutbert
Danke smutbert
~ein Teil dieser Antwort könnte sie verunsichern.