Wie kann ich erzwingen, dass Terminals mindestens eine bestimmte Größe haben?

8

Ich möchte verhindern, dass eines meiner Terminator-Terminals kleiner als 80 x 24 ist. Das heißt, ich würde daran gehindert, die Größe eines Terminals auf eine Größe unterhalb dieser Größe zu ändern. Wenn ich versuchen würde, ein zu kleines Terminal zu teilen, würden entweder die vorhandenen Terminals verkleinert oder die übergeordneten und untergeordneten Terminals verschoben ein neues Fenster.

Ich bin bereit, Terminalprogramme bei Bedarf zu ändern, obwohl eine gute Kachellösung wie die von Terminator vorzuziehen ist.

Nikolaus
quelle

Antworten:

4

Um das zu erreichen, was Sie wollen, müssen Sie den Quellcode bearbeiten gnome-terminalund selbst neu erstellen , da die Mindestfenstergröße in der Terminalanwendung fest codiert ist. Befolgen Sie dazu die folgenden Schritte.

Gehen Sie zunächst zu https://launchpad.net/ubuntu/+source/gnome-terminal/3.6.1-0ubuntu4 und laden Sie die Quelldateien herunter (die Datei lautet gnome-terminal_3.6.1.orig.tar.xz). Laden Sie dies in Ihren ~/DownloadsOrdner herunter .

Öffnen Sie dann ein Terminal und geben Sie die folgenden Befehle ein:

cd ~/Downloads

tar -xJf gnome-terminal_3.6.1.orig.tar.xz

Dadurch wird die Quelle extrahiert. Öffnen Sie jetzt Ihren bevorzugten Texteditor und bearbeiten Sie die Datei ~/Downloads/gnome-terminal-3.6.1/src/terminal-window.c. Navigieren Sie zu Zeile 3107, wo Sie die Variablen MIN_WIDTH_CHARSund finden MIN_HEIGHT_CHARS. Bearbeiten Sie diese, dies sind die Mindesthöhe und -breite Ihres Terminalfensters, ausgedrückt in Zeichen (dh ein MIN_WIDTH_CHARSWert von 20 bedeutet, dass Sie die Breite des Fensters nicht mehr auf unter 20 Zeichenbreiten ändern können).

Dann, um einen Terminaltyp einzubauen cd ~/Downloads/gnome-terminal-3.6.1. Führen Sie dann aus ./configure, um das Makefile zu generieren (wenn es sich über fehlende Pakete beschwert, installieren Sie diese mit apt-get(z. B. wenn "Paket foonicht gefunden" oder ähnliches angezeigt wird, verwenden Sie sudo apt-get install foo). Sie können auch versuchen, es zu installieren auto-aptund zu verwenden sudo auto-apt run ./configure(dies versucht, alle Abhängigkeiten zu installieren ), aber als ich das versuchte, fing es nicht alles ab ( ./configuredanach Standard ausführen ). Dies kann einige Versuche dauern, abhängig davon, wie viele Pakete fehlen.

Sobald die Makefiles generiert wurden, geben Sie einfach Folgendes ein make, gefolgt von sudo make install. Dies sollte das Terminalprogramm neu erstellen. Schließen Sie alle Terminalfenster, und das nächste, das Sie starten, berücksichtigt die in der Quelle festgelegte Mindestgröße (dh die Größe wird nicht unter die dort definierten Werte geändert).

Jez W.
quelle
Eine noch vollständigere Methode wäre, genau das zu tun, was Sie angegeben haben, aber den zusätzlichen Schritt des Benutzers zu unternehmen, der seine eigene PPA erstellt, um eine .deb zu erstellen, die er verwalten und / oder sperren kann, um keine Probleme zu verursachen beim Upgrade des restlichen Systems. Auf diese Weise verwaltet der Paketmanager weiterhin Pakete, aber der Benutzer behält die Kontrolle über nur das Paket in seiner PPA, ohne die beabsichtigte Funktionalität des Paketmanagers zu beeinträchtigen. Wenn Sie so viel erwähnen, wird (glaube ich) Ihre Antwort verfestigen wie die Antwort "Gehe zu".
Darthlukan
@ Darthlukan Interessanter Punkt. Ich hatte eigentlich nicht daran gedacht (vielleicht hätte ich es vorher durchgehen sollen, um es zu testen) und bin mir tatsächlich nicht sicher, wie man das machen / Paketaktualisierungen anwenden würde, während ihre Änderungen intakt bleiben ... ich auch Ich habe gerade bemerkt, dass sich die Frage speziell auf Terminator bezieht, während diese Lösung für Gnome-Terminal ist, also ...
Jez W
Unabhängig davon, ob es sich um ein Gnome-Terminal oder einen Terminator handelt (Terminator zeigt tatsächlich mehrere Gnome-Terminals an und das Gnome-Terminal ist eine Abhängigkeit vom Terminator), ist Ihre Lösung immer noch richtig. Der Benutzer kann in Terminator fast dasselbe tun. Er muss lediglich auf Variablennamen achten, die unterschiedliche und unterschiedliche Dateinamen haben können, aber die Schritte sind alle gleich (Hauptinhalt). Wenn Sie ein benutzerdefiniertes .deb-Paket erstellen und Ihre PPA an Apt anhängen, wird Ihr Paket überschrieben, solange Sie die Version sperren.
Darthlukan
4
  1. Drücken Sie die Supertaste, um das Suchobjektiv zu öffnen und suchen Sie nach: Hauptmenü
  2. Sobald die Anwendung " Hauptmenü " ausgeführt wird, wählen Sie im linken Menü " Zubehör " und im zweiten Menü " Terminal ".
  3. Sobald Sie die Optionen " Terminal " ausgewählt haben, klicken Sie rechts auf die Schaltfläche " Eigenschaften ". Ein neues Fenster mit den Terminal Launcher-Eigenschaften wird geöffnet.
  4. Gehen Sie zum Eintrag " Befehl " und fügen Sie diesen am Ende des Eintrags hinzu:

    --geometry=132x24
    

    Der fertige Eintrag sollte sein:

    gnome-terminal --geometry=132x24
    

Das ist es. Schließen Sie die Fenster und beim nächsten Start des Terminals wird die Fenstergröße geändert. Möglicherweise müssen Sie sich abmelden und wieder anmelden, um ordnungsgemäß zu funktionieren.

(132x24 ist nur ein Beispiel, Sie können jede gewünschte Auflösung verwenden)

Christian
quelle
2
Dies wirkt sich nur auf die Startgeometrie aus und verhindert nicht, dass die Größe des Terminals unter die angegebene Größe geändert wird.
Nicholas
2

Soweit ich weiß, können Sie nicht, die Auflösung eines Terminalfensters basiert auf den Proportionen der Zeichen ... Wenn Sie also die Größe der Schriftart ändern, wird die Größe des Terminalfensters an den Anteil von angepasst diese Schriftart ...

Es klingt zunächst etwas albern, aber da ein Terminal nur Textzeichen anzeigt, ist es sinnvoll, wenn ein Fenster eine Pixelgröße hat, häufig Platz zu verschwenden, wenn die Größe des Fensters nicht genau ist eine Zeichengrenze abgleichen ...

Christian
quelle
es ist völlig schlimmer als dumm und kein Grund, warum der Programmierer es getan hat. gewundener Kopf Abschlepper
Carni
1

Wenn Sie sich in einer älteren Version von Ubuntu befinden, klicken Sie im rechten Fenster auf -> Eigenschaften. Die erste Registerkarte enthält zwei Felder, in denen Sie die Zeilen und Spalten des Terminals bearbeiten können.

Andernfalls können Sie die Befehlseingabe verwenden, auf die in Antwort 1 verwiesen wird.

--geometry=132x24
Kosakenmann
quelle
Dies betrifft auch nur die anfängliche Geometrie.
Nicholas
1

Der kleine Trick zur Standardgröße war hier ein Thema . Dort löste der Benutzer viscount das Problem, indem er ein Skript erstellte und es wie folgt in / usr / bin / gnome-terminal platzierte (ich nehme an, Sie verwenden gnome als Fenstermanager):

#!/bin/sh
gnome-terminal --geometry=132x24

Sie können auch mit der rechten Maustaste auf das Gnome-Terminal-Symbol in Ihrer Taskleiste klicken, Eigenschaften auswählen und dort den Befehl in einen anderen Befehl ändern, z.

gnome-terminal --working-directory=%f --geometry=132x24

Auf diese Weise haben Sie Ihre eigene definierte Standardgröße.

dschinn1001
quelle