Kurz Howto: Transparentes Gnome-Terminal 3.54.0 unter OpenBSD

Status
Für weitere Antworten geschlossen.

dettus

Bicycle User
Persoenlich bin ich ein Fan transparenter Terminals. Eterm sah damals(tm) am Besten aus. Aber das wirkt fuer mich dann mittlerweile doch zu altbacken. Also bin ich mittlerweile bei den Gnome-Terminals gelandet.
Ubuntu ist immer so nett und patcht dort die Transparenz rein. Der Standard OpenBSD Port hat das nicht, aber es ist ganz einfach das nachzuholen.


WENN IHR DAS AUCH MACHEN WOLLT: Hier sind die Schritte, die es da bei mir gebraucht hatte.
Ich hatte vorher schon als Paket GNOME und GNOME-TERMINAL installiert, und noch ein paar Build Tools wie meson, ninja und gtar.

Wie immer gilt: BENUTZUNG AUF EIGENE GEFAHR!!!




1. Sourcen und Patch herunterladen.
Z.B. hier: https://launchpad.net/ubuntu/+source/gnome-terminal/3.54.0-1ubuntu1

Code:
; mkdir tmp
; cd tmp
; ftp https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/gnome-terminal/3.54.0-1ubuntu1/gnome-terminal_3.54.0.orig.tar.bz2
; ftp https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/gnome-terminal/3.54.0-1ubuntu1/gnome-terminal_3.54.0-1ubuntu1.debian.tar.xz

Und dann auspacken

Code:
; gtar xvfj gnome-terminal_3.54.0.orig.tar.bz2
; gtar xvfJ gnome-terminal_3.54.0-1ubuntu1.debian.tar.xz

2. Patchen, automatisiert
Code:
; cd gnome-terminal-3.54.0
; cat ../debian/patches/0001-* | patch -p1


3. Build environment Patchen, von Hand
Jetzt muss noch die Abhaengigkeit von der libdl rausgenommen werden.

Code:
; vi meson.build

Ungefaehr Zeile 232-241 sollten danach so aussehen:

Code:
# Check for functions

#libdl_dep = cxx.find_library('dl')
#
#check_dl_functions_required = [
#  'dlsym',
#]
# 
#foreach func: check_dl_functions_required
#  assert(cxx.has_function(func, dependencies: libdl_dep), func + ' not found')
#endforeach
    
# Compiler flags

Und in der Datei src/meson.build sind es die Zeilen 256-269:

Code:
; vi src/meson.build
server_deps = [
  gio_dep,
  gio_unix_dep,
  glib_dep,
  gtk_dep,
#  libdl_dep,
  libhandy_dep,
  pcre2_dep,
  pthreads_dep,
  schemas_dep,
  uuid_dep,
  vte_dep,
  x11_dep,
]

4. Sourcen patchen, von Hand

In der Datei terminal-util.cc wird noch die OpenBSD fremde Funktion strchrnul aufgerufen. Ich habe sie einfach durch strchr ersetzt (KEINE AHNUNG, WAS DAS HEISST).
Code:
; vi src/terminal-util.cc
:1,$s/strchrnul/strchr/g
:wq!


5. Build

Das Gnome Terminal baut man mit meson und ninja. (Warum auch immer..)
Code:
; meson setup builddir
; cd builddir
; ninja

6. Installieren


Danach noch ein kurzes
Code:
; doas ninja install

Und ihr muesst GNOME neu starten.
 

Anhänge

  • transparent_terminal.webp
    transparent_terminal.webp
    65,7 KB · Aufrufe: 123
Kurzes update:

Unter anderem muessen fuer den Build noch folgende Pakete installiert sein:

Code:
pkg_add vte3
pkg_add meson
pkg_add itstool
pkg_add gettext-tools

Ausserdem hatte ich Schwierigkeiten mit der manpage. Aber wer liest die schon....

Code:
Einfach im builddir/build.ninja die Zeile 1237 ungefaehr so aussehen lassen:

uild man/gnome-terminal.1: CUSTOM_COMMAND ../man/gnome-terminal.xml | /usr/local/bin/xsltproc
 COMMAND = touch man/gnome-terminal.1
#/usr/local/bin/xsltproc --nonet --stringparam man.output.quietly 1 --stringparam funcsynopsis.style ansi --stringparam man.authors.section.enabled 0 --stringparam man.copyright.section.enabled 0 -o man/gnome-terminal.1 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl ../man/gnome-terminal.xml
 description = Generating$ man/gnome-terminal.1$ with$ a$ custom$ command
 
Im Ernst jetzt??? Dieser ganze Aufwand, nur um ein transparentes Gnome-Terminal zu bekommen, was unter jedem anderen OS/Distro schon lange eine Selbstverständlichkeit ist??? Also wenn man ein "persönlicher Fan" von transparenten Terminals ist, sollte man sich vielleicht überlegen, warum man dann überhaupt das offenbar einzige Betriebssystem (OpenBSD) verwendet, welches das nicht bietet?
 
Im Ernst jetzt??? Dieser ganze Kommentar, nur um mir ein OS auszureden, was ein Feature nicht hat, was unter jeder anderen OS/Distro schon lange eine Selbstverstaendlichkeit ist??? Also, wenn sich das doch relativ einfach nachzuholen ist, warum sollte ein "persoenlicher Fan" nicht diese Information (z.B. durch einen Foren-Post) bekommen? ;)
 
Nun, das ist einfach wieder ein Punkt, an dem ich mich frage, was manche Leute an OpenBSD eigentlich so toll finden? Was gibt es denn da eigentlich für handfeste Kriterien, warum man es nimmt, im Gegensatz zu FreeBSD oder NetBSD? Denn, aus meiner Sicht schon mal weniger Hardwareunterstützung und geringere Performance im Vergleich zu den anderen beiden. Was ist es denn dann? Die Tatsache, dass es in sieben Jahren niemals gehackt wurde? Oder ist es vielleicht einfacher, einen Mailserver einzurichten (das wäre vielleicht ein guter Grund) oder einfach nur Geschmacksache / Gewohnheit / persönliche Vorliebe?
 
Nun, das ist einfach wieder ein Punkt, an dem ich mich frage, was manche Leute an OpenBSD eigentlich so toll finden? Was gibt es denn da eigentlich für handfeste Kriterien, warum man es nimmt, im Gegensatz zu FreeBSD oder NetBSD? Denn, aus meiner Sicht schon mal weniger Hardwareunterstützung und geringere Performance im Vergleich zu den anderen beiden. Was ist es denn dann? Die Tatsache, dass es in sieben Jahren niemals gehackt wurde? Oder ist es vielleicht einfacher, einen Mailserver einzurichten (das wäre vielleicht ein guter Grund) oder einfach nur Geschmacksache / Gewohnheit / persönliche Vorliebe?

Das ist hier ganz sicher nicht der richtige Thread für deine Fragen.

Es ist auch spannend wie jemand wie du, der regelmäßig seine massiven Unkentnisse über absolute Basics hier zeigt, auf die idee kommt solche harsche Kritik über ein Betriebsystem wie OpenBSD das er kaum kennt und viel weniger bewerten kann, hier im Thread von jemanden schreibt der sich sehr sehr gut mit vielen IT Themen auskennt.

Unterlass das bitte und sieh das als eine weitere Verwarnung an. Weitere Posts hierzu werde ich löschen. Mach ggf. einen weiteren Thread auf wenn du über OpenBSD diskutieren möchtest. Am besten im "Geplauder".
 
Im Ernst jetzt??? Dieser ganze Aufwand, nur um ein transparentes Gnome-Terminal zu bekommen, was unter jedem anderen OS/Distro schon lange eine Selbstverständlichkeit ist??? Also wenn man ein "persönlicher Fan" von transparenten Terminals ist, sollte man sich vielleicht überlegen, warum man dann überhaupt das offenbar einzige Betriebssystem (OpenBSD) verwendet, welches das nicht bietet?
Zeig mir mal eine Distribution, in welchem das Gnome-Terminal transparente Hintergruende darstellen kann. Bevor Du hier staendig auf OpenBSD rumhackst, solltest Du dich evtl. mal besser vorher informieren. Der Gnome-Terminal kann von Werk aus (upstream) keine transparenten Hintergruende darstellen. Es muss hierfuer gepatched werden - auch unter Linux und auch unter FreeBSD. Natuerlich gibt es auch Terminals, die von Haus aus transparente Hintergruende darstellen koennen - auch unter OpenBSD. Aber halt nicht das Gnome-Terminal.
 
Also zunächst mal wundert es mich, dass man sich dermaßen persönlich angegriffen fühlen kann, wenn man irgendwelche Aspekte des LieblingsOS in Frage stellt. Das ist nicht meine Absicht. Und wenn es letztendlich nicht am OS, sondern an Gnome liegt, kann ich nichts dazu sagen. Ich weiß nur, dass bei MATE, Xfce4 und KDE transparente Terminals eine Selbstverständlichkeit sind. Vielleicht dann auch unter OpenBSD?
 
Also zunächst mal wundert es mich, dass man sich dermaßen persönlich angegriffen fühlen kann, wenn man irgendwelche Aspekte des LieblingsOS in Frage stellt. Das ist nicht meine Absicht. Und wenn es letztendlich nicht am OS, sondern an Gnome liegt, kann ich nichts dazu sagen. Ich weiß nur, dass bei MATE, Xfce4 und KDE transparente Terminals eine Selbstverständlichkeit sind. Vielleicht dann auch unter OpenBSD?
Das problem ist halt WER Kritik übt, wenn das jemand macht der hier wirklich regelmäßig unglaubliches nicht-wissen zur schau stellt und dann sich anmaßt über andere ähnlich Komplexe Dinge urteile zu bilden, kann ich schon sehr gut verstehen das man da etwas hochgeht.

Auch hier hast du ja maximal 1/4 verstanden, nämlich das es explizit um ein Terminal geht in das man die Option Transparenz erst einpatchen muss war dir so garnicht bewusst.
Das es das gibt. Das das nicht nur OpenBSD spezifisch ist. d.H. du hast weite teile des Vorgangs garnicht verstanden und warst trotzdem der Meinung daraus etwas ganz anderes, noch sehr viel komplexeres ableiten zu können.
 
Zum Thema Basics allgemein: Weißt Du mittlerweile schon, welche Länder zur EU gehören und dass man innerhalb der EU keinen Zoll zahlt?
So, und ich habe jetzt etwas besseres zu tun, als hier weiter zu antworten. In dem anderen Thread sind auf meine Frage eine Menge vernünftiger Antworten gekommen, mehr brauche ich nicht.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben