Beiträge von Sauerland

    Vergessen:

    Nachdem die Treiber Installation gestartet ist, gibt es ein paar Meldungen, die man alle einfach mit ENTER/RETURN bestätigen sollte, vor allem bitte keine xorg.conf anlegen lassen, das funktioniert eh zu 99% nicht und diese Datei ist eh nur noch aus Kompatibilitätsgründen vorhanden.

    Besser ist es nach der Installation einfach nur als root:

    Code
    nvidia-settings

    Und dort auch nur beenden, dann wird die Konfiguration automatisch geschrieben, hier auch keine xorg.conf anlegen lassen.

    2. Script

    Erklärung:

    1. wieder der shebang


    2. Ich arbeite gerne mit absoluten Pfaden, erspart des öfteren irgendwelche Fehler, daher mit cd in Verzeichnis wechseln.


    3. NVidia Treiber installieren


    4. Da der Nvidia Treiber oftmals bei mir schneller installiert war als das Script purge-kernels.services um die kernel aufzuräumen, hab ich mir einfach einen top Befehl eingebaut und warte jetzt darauf, bis es keinen Prozess von depmod mehr gibt, somit werden jetzt alle überflüssigen kernels (lt. Einstellungen in /etc/zypp/zypp.conf) gelöscht.

    Wenn top beendet werden soll, einfach die Taste q drücken.


    5. Jetzt wieder zurückstellen auf Init / Runlevel 5, siehe 1. Script


    6. reboot.



    Diese Script hab ich jetzt als nvidia-install in /usr/local/bin gespeichert, ausführbar gemacht und wird nachdem das System durch das 1. Script neu gebootet wurde, der User root sich mit dem Usernamen root und seinem root-Passwort angeldet hat, einfach gestartet durch:

    Code
    nvidia-install

    Warum in /usr/local/bin gespeichert?

    Dort gehören lokale Scripte, Programme hin, die haben in /usr/bin nichts zu suchen.


    Warum nicht nicht /home/USERNAME/bin gespeichert?

    Dort gehören Scripte, Programme gespeichert, die der User als User aufrufen kann.

    Hätte ich das nvidia-install Script hier gespeichert, müsste ich jedes mal entweder erst mit cd /home(USERNAME/bin in das Verzeichnis wechseln oder das Script mit komplettem Pfad aufrufen. Und den root Pfad darum erweitern ist keine gute Idee.

    So hab ich mir Tipparbeit gespart.


    Übrigens funktioniert bei beiden Befehlen die bash-completion.

    Script 1 um neu in Runlevel 3 zu booten, kann unter Gnome/KDE/XFCE usw ausgeführt werden, allerdings sollten vorher alle geöffneten Fenster ausser dem Terminal geschlossen werden.

    Bash
    #!/bin/bash
    systemctl set-default multi-user.target
    reboot

    Erklärung:

    Zitat

    #!/bin/bash Diese Zeile wird auch Shebang genannt und definiert mit welchem Kommandointerpreter (also welcher Shell) das Script ausgewertet werden soll. Wenn wir das Script auch für andere Unix-Systeme (wie z. B. BSD) kompatibel halten wollen, können wir auch statt /bin/bash, /bin/sh schreiben. Allerdings bietet die Bash einige Funktionen an, die die Sh nicht kennt. Diese dürfen dann natürlich auch nicht verwendet werden.

    Grundsätzlich gilt: Zeilen die mit # beginnen sind Kommentarzeilen und werden nicht ausgewertet. Die erste Zeile mit dem Shebang ist dabei eine Ausnahme. Zur Übersichtlichkeit können Sie außerdem an beliebigen Stellen Leerzeilen einfügen.

    http://www.bin-bash.de/scripts.html


    Zitat

    systemctl set-default multi-user.target

    Seit der Umstellung zu systemd werden Init / Runlevel 3 nun multi-user.target genannt und mit diesem Befehl permanent! gesetzt.

    Init / Runlevel 5 wäre graphical.target, siehe 2. Script


    Zitat

    reboot


    rebootet da System.


    Diese hab ich mir als Datei systemreboot in /home/USERNAME/bin gespeichert, ausführbar gemacht und wird als root! ausgeführt:

    Code
    systemreboot

    bash-completion hilft hier auch.

    Sauerland ; Warum zwei Mal "mkdir /home/bin/nvidia"?


    Gruß, Heinz-Peter

    Da war noch eine andere Ausgabe in der Konsole, das war nicht so chronologisch.

    Beim Kopieren passiert, habs geändert, 1 x reicht, wäre aber auch nicht ganz so schlimm.


    Code
    ich@linux64:~/bin/nvidia> mkdir /home/bin/nvidia
    mkdir: das Verzeichnis „/home/bin/nvidia“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
    ich@linux64:~/bin/nvidia>

    Trotzdem Danke.

    Alles als User:


    Das liest sich dann so:

    1. erstelle ein Verzeichnis in deinem /home/USERNAME/bin mit Namen nvidia

    2. wechsle in diese Verzeichnis nvidia

    3. Lade die Datei NVIDIA-Linux-x86_64-340.108-patched-kernel-5.8.run und speichere sie in dem gerade aktiven Verzeichnis

    4. gebe der Datei NVIDIA-Linux-x86_64-340.108-patched-kernel-5.8.run Rechte um sie auszuführen.


    kernel-devel, kernel-syms, kernel-default-devel, make und gcc installieren.


    Dies nach jedem!!!! Kernel-Update:

    Dann solltest du im Runlevel 3 booten (kann man mit Script machen) und dich dort mit root und root-Passwort anmelden, in das Verzeichnis /home/USERNAME/bin/nvidia wechseln und dort eingeben:

    Code
    ./NVIDIA-Linux-x86_64-340.108-patched-kernel-5.8.run

    (dafür kann man sich ein kleines Script schreiben und muss dann nur eben das Script aufrufen.)

    Wieder im Runlevel 5 booten und der Nvidia-Treiber sollte aktiv sein.