• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Plasma 5 für FreeBSD ist da

holgerw

Well-Known Member
Themenstarter #51
Argh, nun habe ich doch etwas vergessen, was zwar nicht dramatisch ist, sich aber ein wenig auf die Performance des Systems auswirken kann:
Es geht um das Kapitel 2.4.2.2 zum manuellen Aufsetzen eines zfs-on-root. Bevor mit zpool ein Pool erzeugt wird, sollte der Befehl
Code:
sysctl vfs.zfs.min_auto_ashift=12
ausgeführt werden, damit das Alightment berücksichtigt wird (vergleiche auch https://www.bsdforen.de/threads/freebsd-lenovo-t430.33328/page-2#post-289210

In der angehängten Fassung habe ich es hinzu gefügt.

Viele Grüße,
Holger
 

Anhänge

Lance

Well-Known Member
#54
Ich hatte KDE5 unter Linux bislang nicht ohne irgendwelche Fehlermeldungen erlebt. Mal gespannt wie das Feedback unter FreeBSD sein wird.
 

ralli

BSD Fanboy
#58
Und nicht vergessen FreeBSD.conf auf latest umzustellen, gell. ;)

Ich habe kde5 installiert. Hat auch funktioniert. Wie aber starte ich es? gdm gibt es ja wohl nicht mehr, oder?

Und wie starte ich es ohne den Loginmanager in der .xinitrc?

Danke!
 

ralli

BSD Fanboy
#59
Code:
exec ck-launch-session startkde
mit der .xinitrc startet bei mir nicht. Es kommt der Fehler: could not start kdeinit5, check your installation.
 

Lance

Well-Known Member
#60
mit der .xinitrc startet bei mir nicht. Es kommt der Fehler: could not start kdeinit5, check your installation.
Code:
cat > .xinitrc <<EOF
#! /bin/sh
/usr/local/bin/xterm -geometry +0+0 &
KDE=/usr/local/bin/startkde
test -x $KDE && exec /usr/local/bin/ck-launch-session $KDE
exec /usr/local/bin/twm
EOF
chmod 755 .xinitc
 

holgerw

Well-Known Member
Themenstarter #61
Ralph, Du kannst auch den sddm installieren, wenn Du einen Loginmanager verwenden möchtest.
@Lance ich glaube Dir, dass das funktioniert, allerdings ist die .xinitrc eigentlich eine reine Textdatei, die von startx ausgelesen wird und kein Skript. Bei mir hat beim selbstgebauten plasma5 bisher immer der Einzeiler in der .xinitrc funktioniert, den @ralli gepostet hat, vorausgesetzt, dbus läuft :)

P.S. Bin unterwegs und kann es deshalb nicht am PC testen.
 

ralli

BSD Fanboy
#62
Holger, danke! sddm startet, aber nach dem Einloggen derselbe Fehler. Ich habe nach der Fehlermeldung gegoogelt und es gibt dazu eine Menge an unüberschaubaren Threads mit unterschiedlichen Lösungen. Hier komme ich leider nicht weiter. Muß leider spekulieren, vielleicht mag kde5 den xf86-video-intel nicht.
 

holgerw

Well-Known Member
Themenstarter #63
Muß leider spekulieren, vielleicht mag kde5 den xf86-video-intel nicht.
Nein, ich habe plasma5 auch schon ohne Nvidia-Karte mit dem internen Intel Haswell laufen lassen bei installiertem xf86-video-intel.

Ich melde mich später wieder dazu, werde nun mal das Metapaket kde5 installieren und schauen, was mir da so geboten wird :)
 

ralli

BSD Fanboy
#64
Nein, ich habe plasma5 auch schon ohne Nvidia-Karte mit dem internen Intel Haswell laufen lassen bei installiertem xf86-video-intel.

Ich melde mich später wieder dazu, werde nun mal das Metapaket kde5 installieren und schauen, was mir da so geboten wird :)
Danke, dann besteht ja noch Hoffnung. Laß Dir Zeit, Du hast gewiß genug um die Ohren. Wahrscheinlich wieder nur eine Konfigurationssache.:)
 

holgerw

Well-Known Member
Themenstarter #68
Hallo,

nun schreibe ich unter plasma5 mit Hilfe von konqueror auf einem frisch aufgesetzten FreeBSD 11.1.

Folgendes habe ich gemacht:
1. Aufsetzen eines FreeBSD Release
2. Mit freebsd-update auf den aktuellsten Stand gebracht
3. pkg Repo auf latest gesetzt und folgende Pakete installiert:
Code:
pkg install bash htop devcpu-data xorg xf86-video-intel plasma5-plasma sddm kde-baseapps
4. Folgende für den Desktop relevante Services sind in der /etc/rc.conf aktiviert:
Code:
dbus_enable="YES"
sddm_enable="YES"
hald_enable="YES"
5. Den Nutzeraccount "holger" angelegt und diesen Account neben der Logingruppe in die Gruppen video, wheel und operator gepackt
6. ~.xinitrc
Code:
export LANG=de_DE.UTF-8
exec ck-launch-session startkde
7. ~.login_conf
Code:
me:\
        :charset=UTF-8:\
        :lang=de_DE.UTF-8:
8. Auf weitere Konfigurationen in der sysctl.conf, rc.conf, devfs.conf u.s.w. gehe ich hier nicht ein.
9. Reboot oder die einzelnen Dienste manuell starten.
10. Wichtig: Wenn sddm gestartet ist, und plasma5 soll in deutsch sein, bei der Session bitte "user" auswählen, dann liest sddm die ~.xinitrc (das export LANG) aus und plasma5 ist in deutsch lokalisiert.

11. Bei Bedarf weiteres nachinstallieren.

Viele Grüße
Holger

Screenshot_20180430_085424.jpeg
 
Zuletzt bearbeitet:

holgerw

Well-Known Member
Themenstarter #69
Dazu dann eine Verständnisfrage:
Mein bisheriger Wissenstand ist, dass ein Skript ausführbar sein muss, und die Kopfzeile ein shebang hat (es sei denn, man ruft das Teil direkt mit dem jeweiligen Interpreter auf. Beides trifft auf meine .xinitrc nicht zu).
Gibt es dann somit auch nur lesbare Scripte? Ich dachte bisher, das seien dann config Dateien, die von bestimmten Anwendungn lediglich ausgelesen werden.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#70
Der Shebang ist nur die äh "Ladelogik". Wenn du eine Datei ausführst, teilt sich der aufrufende Prozess per fork() Syscall und der neue Kind-Prozess lädt dann dann die von dir angebene Datei mit execve() Syscall über sich selbst. Der execve() und der Kernel schauen dann nach dem sogenannten Magic Value, der identifiziert um was für eine Datei es genau handelt. Also beispielsweise ein ELF-Image, ein Java-JAR oder im Fall von #! eben ein Script. Im Fall von #! nimmt er den dahinter angegeben Wert, lädt die Datei über den Prozessund übergibt das Script selbst also erstes Argument.

Mal als Beispiel:
  1. Du führst per './mein_script.sh' ein Script in /tmp/mein_script.sh auf der Shell aus.
  2. Die Shell macht einen fork() und der neue Prozess ein execve('/tmp/mein_script.sh', ...).
  3. Die exeve() Funktion sieht das /tmp/mein_script.sh mit '#! /bin/sh' beginnt und auf das und wandelt den Aufruf zu (bildlich gesprochen) in '/bin/sh /tmp/mein_script.sh' um.
Ein '#! /bin/sh' ist also äquivalent zu '/bin/sh /pfad/zum/script.sh'. Geht man über den Shebang muss die Datei ausführbar sein, da execve() sie sonst zurückweist. Bei einem direkten Aufruf in Form von '/bin/sh /pfad/zum/script.sh' muss lediglich /bin/sh sie lesen können. xinit macht es nichts anderes. Es führt /bin/sh mit ~/.xinitrc als Argument aus, daher muss ~/.xinitrc nicht ausführbar sein.

Man kann übrigens bei FreeBSD weitere Magic Values und ihre Interpreter mit binmiscctl(8) definieren. Damit kann man zum Beispiel Mono-Executables oder Java-JARs direkt ausführbar machen.
 

ralli

BSD Fanboy
#71
Hallo,

nun schreibe ich unter plasma5 mit Hilfe von konqueror auf einem frisch aufgesetzten FreeBSD 11.1.
Danke Holger, werde mir das heute Nachmittag mal auf die Zweite HD installieren. Mein Sohn hat auch einen Brückentag Urlaub genommen und gleich wird erst mal lecker gegrillt. Eine gute Installationsanleitung, ich bin gespannt, ob das bei mir funktioniert und werde es dann ja auch berichten.

Grüße

Ralph
 

ralli

BSD Fanboy
#73
Kleines Feedback, Danke Holger, Deine Installationsanleitung hat bestens funktioniert.:) Wer hier noch mitliest, ergänzend muß noch in der

/usr/local/etc/X11/xorg.conf.d eine input.conf angelegt werden mit folgendem Inhalt:

Code:
Section "InputClass"
    Identifier      "Keyboard defaults"
    Driver          "keyboard"
    MatchIsKeyboard "on"
    Option          "XkbLayout" "de"
EndSection
Ansonsten noch kmix installieren, damit die Lautstärke auch geregelt werden kann. Es ist perfekt und das schwarze Design sieht auch edel aus und macht was her. Gefühlt habe ich den Eindruck, das Plasma5 auch flüssiger und flotter daher kommt, was wohl auch an Qt5 liegt.
 

holgerw

Well-Known Member
Themenstarter #74
Hallo,

noch eine Ergänzung zu sddm. Wer da auch deutsch haben möchte, trage bitte in die /etc/rc.conf noch folgendes unter sddm_enable ein:
Code:
sddm_lang="de_DE.UTF-8"
Und schon heißt es - bezogen auf heute - beim sddm nicht mehr Monday sondern Montag :)