it-swarm.com.de

Transparente Palette im Gnome-Terminal

Ich verwende einen transparenten Hintergrund in gnome-terminal.

Für die Arbeit muss ich oft in Windows-Maschinen SSH. OpenSSH sendet pflichtbewusst ANSI-Hintergrundfarben, was zu einer weniger als idealen Erfahrung führt, wenn es mit der Transparenz des Terminals gemischt wird.

Ein Beispiel dafür, wie es aussieht, finden Sie hier:

Ein ähnliches Ergebnis erhalten Sie beispielsweise durch Ausführen von aptitude.

Gibt es eine Möglichkeit, die Hintergrundpalette transparent zu machen (oder zumindest Farbbefehle zu ignorieren, ähnlich wie bei xterm -cm)? Ich habe versucht, in den Terminaleinstellungen einen transparenten Alphakanal im RGBA- und ARGB-Format einzugeben, aber es sieht so aus, als würde das Terminal sie einfach ignorieren.

Ich wäre bereit, die Quelle des Terminals zu hacken, wenn es keine sofort einsatzbereite Lösung gibt. In diesem Fall wäre ein Zeiger für die Suche sehr hilfreich.

2
Xyene

Wie ausführlich unter https://superuser.com/questions/1164104/semi-transparent-colors-in-terminal beantwortet, dürfen Palettenfarben keinen Alphakanal enthalten. Nur der Standardhintergrund kann transparent sein.

(Nur zur Veranschaulichung, die neuesten Versionen des Mainstream-Gnome-Terminals bieten überhaupt keine Transparenzunterstützung. Ältere Versionen hatten es, und einige Distributionen, einschließlich Ubuntu, patchen es, um es zurückzubringen.)

"OpenSSH sendet pflichtbewusst ANSI-Hintergrundfarben" - das bezweifle ich ernsthaft. ssh ist dafür verantwortlich, einen Datenstrom so über das Kabel zu senden, dass er genau so am Ziel ankommt, wie er vom Absender gesendet wurde (natürlich nach der Verschlüsselung auf der Absenderseite und der Entschlüsselung auf der Empfängerseite). Es ist kein Terminal-Emulator, hat keinerlei Ahnung von Escape-Sequenzen, ANSI-Farbcodes und dergleichen. Es ist nicht einmal garantiert, dass was auch immer ssh sendet, es zu einem Terminalemulator auf der empfangenden Seite schafft. Z.B. Denken Sie an SCP. Es wäre seltsam, wenn Sie Dateien, die einige ANSI-Escapezeichen enthalten, nicht sicher kopieren könnten. ssh lässt Ihre Daten sicherlich unverändert.

Es muss ein Shell-Setup oder ähnliches auf Ihrem Remote-Host sein, das sich für die Verwendung von Farben entscheidet, und wenn Sie dasselbe Setup lokal hätten, wäre es für Sie ohne ssh im Spiel genauso kaputt. Sie sollten herausfinden, wer und wo diese Sequenz im Rahmen Ihres Anmeldeverfahrens oder Ihrer Eingabeaufforderung ausgibt.

Obwohl Ihr Screenshot und Ihre Beschreibung nichts aussagen, vermute ich, dass nicht transparente graue Linien erscheinen, wenn Sie zum ersten Mal den unteren Rand des Terminals erreichen und der Inhalt zu scrollen beginnt. Dies ist auf das braindamaged "bce" (background colour erase) -Fehlverhalten der meisten grafischen Terminalemulatoren zurückzuführen. gnome-terminal (in der Tat das zugrunde liegende vte Widget) hat sein Verhalten ab vte-0.44 geändert, das in Ubuntu Yakkety erschienen ist. Wenn Sie Xenial ausführen, können Sie es versuchen: Aktualisieren Sie Ihr lilbvte-2.91-0-Paket von Yakkety, beenden Sie alle gnome- Terminalfenster und starten Sie erneut. Vermutlich werden Sie eine andere Erfahrung sehen, die Sie sehen möchten. Beachten Sie jedoch, dass das neue Verhalten von gnome-terminal (vte) nicht standardkonform ist und Sie weiterhin das alte Verhalten in anderen Emulatoren sehen, z. xterm. Details zur Änderung des Gnome-Terminals um das bce-Feature: https://bugzilla.gnome.org/show_bug.cgi?id=754596 .

2
egmont