web-dev-qa-db-fra.com

Palette transparente dans gnome-terminal

J'utilise un fond transparent dans gnome-terminal.

Pour le travail, j'ai souvent besoin de SSH sur des machines Windows. OpenSSH envoie consciencieusement les couleurs de fond ANSI, ce qui se traduit par une expérience moins qu'idéale lorsqu'il est mélangé avec la transparence du terminal.

Un exemple de ce à quoi il ressemble peut être vu ici:

Un résultat similaire peut être obtenu en exécutant aptitude, par exemple.

Existe-t-il un moyen de rendre la palette d'arrière-plan transparente (ou au moins d'ignorer les commandes de couleur, comme pour xterm -cm)? J'ai essayé de saisir un canal alpha transparent aux formats RGBA et ARGB dans les préférences du terminal, mais il semble que le terminal les ignore tout simplement.

Je serais prêt à pirater la source du terminal s'il n'y a pas de solution prête à l'emploi, auquel cas un pointeur vers l'endroit où regarder serait très utile.

2
Xyene

Comme expliqué en détail sous https://superuser.com/questions/1164104/semi-transparent-colors-in-terminal , les couleurs de palette ne peuvent pas contenir de couche alpha. Seul l'arrière-plan par défaut peut être transparent.

(Juste pour information, les versions récentes de gnome-terminal grand public ne supportent pas la transparence. Les anciennes versions l'avaient, et certaines distributions, y compris Ubuntu, le corrigent pour le ramener.)

"OpenSSH envoie consciencieusement les couleurs de fond ANSI" - j'en doute sérieusement. La responsabilité de ssh est d’envoyer un flux de données par le réseau de manière à ce qu’il arrive à la destination exactement tel qu’il a été envoyé par l’expéditeur (après cryptage côté expéditeur et décryptage côté destinataire, bien sûr). Ce n'est pas un émulateur de terminal, il n'a aucune idée des séquences d'échappement, des codes de couleurs ANSI, etc. Il n'est même pas garanti que les envois que ssh envoie à un émulateur de terminal du destinataire. Par exemple. pensez à scp, il serait étrange de ne pas pouvoir copier en toute sécurité des fichiers contenant des fuites ANSI. SSH laisse sûrement vos données inchangées.

Il doit s'agir d'une configuration Shell ou similaire sur votre hôte distant qui décide d'utiliser des couleurs, et si vous aviez la même configuration localement, elle serait tout aussi cassée pour vous sans ssh dans le jeu. Vous devez localiser qui et où émet cette séquence dans le cadre de votre procédure de connexion ou de votre invite.

Bien que votre capture d'écran et votre description ne soient pas claires, je soupçonne que des lignes grises non transparentes commencent à apparaître lorsque vous atteignez le bas du terminal et que le contenu commence à défiler. Cela est dû au mauvais fonctionnement "bce" (effacement de la couleur d'arrière-plan) de la plupart des émulateurs de terminaux graphiques. gnome-terminal (en fait, le widget vte sous-jacent) a changé de comportement depuis la version vte-0.44, qui est apparue dans Ubuntu Yakkety. Si vous utilisez Xenial, essayez-le: mettez à jour votre paquet lilbvte-2.91-0 depuis Yakkety, quittez all gnome- fenêtres du terminal et recommencez. Vraisemblablement, vous verrez une expérience différente, celle que vous souhaitez voir. Notez, cependant, que le nouveau comportement de gnome-terminal (vte) n'est pas conforme à la norme, et vous verrez toujours l'ancien comportement dans d'autres émulateurs, par exemple. xterm. Détails sur le changement de terminal gnome concernant la fonctionnalité bce: https://bugzilla.gnome.org/show_bug.cgi?id=754596 .

2
egmont