Frage Öffnen Sie das Terminal beim Start immer im Modus "Immer im Vordergrund"


Ich möchte, dass Ubuntu ein Terminal in der unteren rechten Ecke öffnet, wenn ich mich anmelde, mit dem immer oben Modus aktiviert. Ich habe ein Skript gemacht, das dies tut, wenn ich es von einem Terminal aus starte, aber es funktioniert nicht, wenn ich das Skript unter Verwendung von Startanwendungen. Das Fenster erscheint an der richtigen Stelle, aber immer oben ist nicht aktiviert. Unten ist mein Skript.

#!/bin/bash
gnome-terminal --title="abvtrm" --geometry 80x10-0--255
wmctrl -a abvtrm -b add,above
exit

Die Idee ist, dass ich den Namen des Fensters zu etwas zwingen will, das ich entscheide, also habe ich einen Namen, auf den ich mich für wmctrl beziehe. Ich habe das bemerkt, wenn ich den Befehl ausführe

wmctrl -a abvtrm -b add,above

manuell in einem Terminal (nach der Protokollierung, das Fenster vorhanden, aber nicht in immer im Top-Modus), hat keine Wirkung, was darauf hindeutet, dass ich aus irgendeinem Grund keinen Namen für das Fenster auswählen darf, wenn ich mich durcharbeiten muss Startanwendungen.

Ich rufe das Skript auf, indem ich den Befehl aufrufe

bash myscriptname.sh

Bonusfrage: Intuition sagt mir, dass, um das Fenster unten rechts erscheinen zu lassen, ich setzen sollte

gnome-terminal --title="abvtrm" --geometry 80x10-0-0

aber wenn ich das mache, landet das Fenster irgendwo im mittleren rechten Bereich meines Bildschirms. Warum ist das?


1
2017-08-26 11:11


Ursprung


OK Zuerst öffnet sich dein Fenster ganz unten rechts wie du willst, aber der Code für das wmctrl immer oben wird bei mir überhaupt nicht funktionieren Ich habe es in einem Skript als verschiedene Befehle beim Start versucht, es gibt keinen Fehler aber es funktioniert nicht Bitte zeig mir, wo du diesen Code erhalten hast. thwmctrl -a abvtrm -b add, oben - Mark Kirby
@Mark dein Kommentar ist ziemlich verwirrend, was ist das Ende aber? - Tim
@Tim er will es in der rechten unteren Ecke .. - AlexGreg
@Tim Ich sehe kein Ende, aber, hast du mich etwas gebissen, in diesem Fall meinte ich, welche Webseite oder welches Forum usw. seinen Code gefunden hat. Also kann ich es überprüfen. Aber ich denke, ich habe es gefunden. linuxquestions.org/questions/linux-newbie-8/... - Mark Kirby


Antworten:


OK hier ist eine echte Lösung, zuerst ein Terminal zu öffnen

sudo gedit~/.bashrc

Finden Sie diesen Abschnitt und fügen Sie ein # zur Zeile hinzu, wie in dem Code, den ich unten eingefügt habe, damit Sie die Namen von Terminals ändern können und Ihr ursprünglicher Code in Ordnung ist.

case "$TERM" in
xterm*|rxvt*)
    # JEFFYEE REMOVED because it makes commands to title() not work
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

Hier ist meine Quelle, aber getestet und von mir gearbeitet.


1
2017-08-26 11:41



Mit Ihrer alten Antwort fand ich heraus, dass es funktionierte, wenn ich zwischen dem Öffnen des Terminals und dem Aufstellen des "Immer im Vordergrund" -Modus eine kleine Ruhezeit einlegte. Sie sind völlig richtig, dass ich einfach den Namen des Terminals nicht geändert habe. Ich bin ein wenig verwirrt, dass mein ursprünglicher Code funktionierte, als ich ihn von einem Terminal aus startete. Ich bin sicher, dass die neue Antwort auch funktioniert (da es das Problem löst, das Terminal nicht umbenennen zu können), aber im Moment bin ich damit zufrieden, den Namen nicht zu ändern. Vielen Dank für die Hilfe! - Jonas Dahlbæk
Die neue Antwort macht es perfekt für Sie alles, was Sie tun müssen, ist 1 # in eine Datei und Sie sind fertig, können Sie die Namen ändern - Mark Kirby
Ich denke immer noch, dass ich die kleine Schlafzeit zwischen den beiden Befehlen brauche. - Jonas Dahlbæk
Ja, behalte es, wenn es für dich funktioniert, füge das zu deinem ursprünglichen Skript hinzu, mach die neue Antwort und du kannst so viele Terminals mit beliebig vielen Namen öffnen - Mark Kirby
Ich habe getan, wie Sie vorgeschlagen haben, und das funktioniert sicherlich. Ich brauche immer noch die Ruhezeit, was ich etwas komisch finde, da ich es nicht brauche, wenn ich das Skript vom Terminal aus starte, aber was auch immer funktioniert, richtig? Nochmals, vielen Dank! - Jonas Dahlbæk


Benutzen

wmctrl -r :ACTIVE: -b toggle,above

Verwenden Sie toggle statt add (Grund: Quelle)

Unten rechts arbeite ich und werde diese Antwort aktualisieren.


0
2017-08-26 11:37



Für unten rechts habe ich gebraucht gnome-terminal --title="abvtrm" --geometry 80x10-0+10000 - AlexGreg
Die Quelle erklärt den Grund nicht. - Tim
@Alex, die nur auf den Grund meines ersten Bildschirms geht - nicht der zweite. Weißt du, warum? - Tim
weil es im aktuellen aktiven Bildschirm untergeht - AlexGreg
Ich habe das schon mal probiert und es hat nicht funktioniert. Es funktioniert (für mich) wenn es in einem Terminal gemacht wird, aber nicht wenn es bei der Anmeldung gemacht wird. - Jonas Dahlbæk