| Zeile 1: |
Zeile 1: |
| − | Siehe [[oldCt:Linux-Tipps]] | + | |
| | + | == Linux-kompatible Hardware == |
| | + | |
| | + | Die meiste Hardware für Windows läuft auch mit Linux. Manchmal funktionieren aber vielleicht besondere Funktionen nicht oder erst, wenn man etwas mit den Einstellungen gebastelt hat. |
| | + | |
| | + | Siehe aber auch: |
| | + | |
| | + | * https://ubuntu.com/certified |
| | + | * https://linux-hardware.org/ |
| | | | |
| | == Linux und andere Betriebssysteme == | | == Linux und andere Betriebssysteme == |
| Zeile 92: |
Zeile 100: |
| | === Arch Linux === | | === Arch Linux === |
| | [[Arch Linux]] ist ein sog. [[Rolling Release]] und enthält sehr aktuelle Software, allerdings mit dem Nachteil, dass sie auch nicht immer besonders tief getestet wurde. | | [[Arch Linux]] ist ein sog. [[Rolling Release]] und enthält sehr aktuelle Software, allerdings mit dem Nachteil, dass sie auch nicht immer besonders tief getestet wurde. |
| | + | |
| | + | |
| | + | === ChromeOS === |
| | + | |
| | + | Das Google-Betriebssystem ChromeOS basiert ebenfalls auf Linux. Es kann inzwischen auch [[Android]]-Apps ausführen. |
| | + | |
| | + | 2018 hat Google die Initiative ergriffen und versucht, [[ChromeOS auf dem Tablet]] zu offerieren. Bisher (Anfang 2020) scheint das noch nicht den Massenmarkt zu erreichen. |
| | | | |
| | === Schnellstart-Linux === | | === Schnellstart-Linux === |
| Zeile 143: |
Zeile 158: |
| | ==== RPM ==== | | ==== RPM ==== |
| | * Das [http://xinux.de/docs/linux/rpm/ RPM-Buch] bietet eine Anleitung zum "Redhat Package Manager" inklusive dem Bau von Paketen. | | * Das [http://xinux.de/docs/linux/rpm/ RPM-Buch] bietet eine Anleitung zum "Redhat Package Manager" inklusive dem Bau von Paketen. |
| | + | |
| | + | === Orchestrierungswerkzeuge === |
| | + | |
| | + | Es gibt eine Menge Tools, um die Konfiguration von Rechnern aus der Ferne (halb-)automatisch zu erledigen, z.B.: |
| | + | |
| | + | * [[Ansible]] |
| | + | * [[Chef]] |
| | + | * [[Puppet]] |
| | | | |
| | === Sound === | | === Sound === |
| Zeile 200: |
Zeile 223: |
| | ===== Weiteres Beispiel für einen Menüeintrag ===== | | ===== Weiteres Beispiel für einen Menüeintrag ===== |
| | | | |
| − | | + | <pre> |
| | menuentry 'UbuntuLinux Generic Current auf Platte mit Bezeichnung Ubun10LTS' --class ubuntu --class gnu-linux --class gnu --class os { | | menuentry 'UbuntuLinux Generic Current auf Platte mit Bezeichnung Ubun10LTS' --class ubuntu --class gnu-linux --class gnu --class os { |
| | recordfail | | recordfail |
| | insmod ext2 | | insmod ext2 |
| − | search --no-floppy --label Ubun10LTS --set root | + | search --no-floppy --label --set root Ubun10LTS |
| | linux /vmlinuz root=LABEL=Ubun10LTS ro quiet splash | | linux /vmlinuz root=LABEL=Ubun10LTS ro quiet splash |
| | initrd /initrd.img | | initrd /initrd.img |
| − | } | + | } |
| − | | + | </pre> |
| | | | |
| | ===== /boot/grub.cfg aktualisieren ===== | | ===== /boot/grub.cfg aktualisieren ===== |
| Zeile 215: |
Zeile 238: |
| | an und schreibt sie in <code>/boot/grub/grub.cfg</code> mittels | | an und schreibt sie in <code>/boot/grub/grub.cfg</code> mittels |
| | sudo update-grub | | sudo update-grub |
| | + | |
| | + | |
| | + | ===== Vorschau auf GRUB-Menü ===== |
| | + | |
| | + | Das Menü, das GRUB beim Booten anbieten wird, kann mit dem Emulator angezeigt werden: |
| | + | sudo aptitude install grub-emu |
| | + | grub-emu |
| | + | |
| | + | Um es wieder zu beenden, muss man im Fenster, von dem aus man grub-emu gestartet hat (also nicht das Vorschaufenster) ein <code>c</code> und dann ein <code>exit</code> eingeben.<ref>Vgl. https://unix.stackexchange.com/questions/405515/how-to-preview-my-grub-menu-without-rebooting</ref> |
| | | | |
| | ===== ISO-File booten ===== | | ===== ISO-File booten ===== |
| Zeile 224: |
Zeile 256: |
| | Um nur für den nächsten Bootvorgang ein anderes Betriebssystem zu booten, kann man | | Um nur für den nächsten Bootvorgang ein anderes Betriebssystem zu booten, kann man |
| | sudo grub-reboot x | | sudo grub-reboot x |
| − | aufrufen, wobei x die Nummer oder die genaue Bezeichnung des "menuentry"-Eintrags in der <code>grub.cfg</code> ist. | + | aufrufen, wobei x die Nummer <small>(erster Eintrag hat die 0 nicht die 1)</small> oder die genaue Bezeichnung des "menuentry"-Eintrags in der <code>grub.cfg</code> ist. |
| | | | |
| | Wichtig ist dabei, dass in <code>/etc/default/grub</code> steht, dass | | Wichtig ist dabei, dass in <code>/etc/default/grub</code> steht, dass |
| Zeile 255: |
Zeile 287: |
| | * [http://www.rodsbooks.com/efi-bootloaders/index.html Beschreibung verschiedener EFI-Bootloader] für Linux | | * [http://www.rodsbooks.com/efi-bootloaders/index.html Beschreibung verschiedener EFI-Bootloader] für Linux |
| | * [https://wiki.archlinux.org/index.php/UEFI UEFI-Grundlagen] für ArchLinux | | * [https://wiki.archlinux.org/index.php/UEFI UEFI-Grundlagen] für ArchLinux |
| | + | * [https://help.ubuntu.com/community/UEFI UEFI-Hilfe für Ubuntu] |
| | | | |
| | ===== GRUB2 ===== | | ===== GRUB2 ===== |
| Zeile 291: |
Zeile 324: |
| | chainloader /EFI/microsoft/BOOT/bootmgfw.efi | | chainloader /EFI/microsoft/BOOT/bootmgfw.efi |
| | } | | } |
| | + | |
| | + | ====== Booteintrag für nächsten Reboot ====== |
| | + | |
| | + | Für den nächsten Boot kann man den Booteintrag folgendermaßen auswählen |
| | + | sudo grub-reboot 2 |
| | + | |
| | + | Statt der 2 (die für den 3. Menüeintrag) steht kann man natürlich auch eine andere Nummer angeben oder aber den Menüeintrag-Titel, wie er der Datei /boot/grub.cfg zu entnehmen ist. |
| | | | |
| | ===== ELILO ===== | | ===== ELILO ===== |
| Zeile 349: |
Zeile 389: |
| | Siehe zu Service-Templates (z.B. mehrere Konsolen, auf die mittels (Strg-)Alt-F1, (Strg-)Alt-F2 ... zugegriffen werden kann und auf denen jeweils getty läuft): | | Siehe zu Service-Templates (z.B. mehrere Konsolen, auf die mittels (Strg-)Alt-F1, (Strg-)Alt-F2 ... zugegriffen werden kann und auf denen jeweils getty läuft): |
| | * http://0pointer.de/blog/projects/instances.html | | * http://0pointer.de/blog/projects/instances.html |
| | + | |
| | + | === Ruhezustand === |
| | + | |
| | + | Probiere |
| | + | sudo pm-hibernate |
| | + | oder |
| | + | sudo systemctl hibernate |
| | + | |
| | + | Siehe auch zu den Voraussetzungen wie /etc/initramfs-tools/conf.d/resume: |
| | + | * https://forums.bunsenlabs.org/viewtopic.php?id=4305 |
| | | | |
| | ==== Automatischen Ruhezustand verhindern ==== | | ==== Automatischen Ruhezustand verhindern ==== |
| Zeile 354: |
Zeile 404: |
| | Systemd ist standardmäßig so eingestellt, dass es bei geschlossenem Laptop-Deckel in den Ruhezustand geht. Dies lässt sich in der <code>/etc/systemd/login.conf</code> vermeiden:<ref>http://unix.stackexchange.com/questions/52643/how-to-disable-auto-suspend-when-i-close-laptop-lid</ref> | | Systemd ist standardmäßig so eingestellt, dass es bei geschlossenem Laptop-Deckel in den Ruhezustand geht. Dies lässt sich in der <code>/etc/systemd/login.conf</code> vermeiden:<ref>http://unix.stackexchange.com/questions/52643/how-to-disable-auto-suspend-when-i-close-laptop-lid</ref> |
| | HandleLidSwitch=ignore | | HandleLidSwitch=ignore |
| − |
| |
| | | | |
| | === Weiteres === | | === Weiteres === |
| Zeile 363: |
Zeile 412: |
| | == Herunterfahren == | | == Herunterfahren == |
| | | | |
| | + | === im Init-System === |
| | Mit einer GUI-Umgebung wie Gnome oder KDE lässt sich der Rechner einfach durch Drücken des Soft-Power-Off-Buttons herunterfahren (meist noch mit einer Rückfrage auf dem Bildschirm). Will man dem normalen User in der Shell etwas ähnliches erlauben, sollte man in <code>/etc/inittab</code> folgende Zeile einfügen/ändern: | | Mit einer GUI-Umgebung wie Gnome oder KDE lässt sich der Rechner einfach durch Drücken des Soft-Power-Off-Buttons herunterfahren (meist noch mit einer Rückfrage auf dem Bildschirm). Will man dem normalen User in der Shell etwas ähnliches erlauben, sollte man in <code>/etc/inittab</code> folgende Zeile einfügen/ändern: |
| | | | |
| | ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now | | ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now |
| | + | |
| | + | === mittels Magic-SysRq === |
| | + | Siehe |
| | + | * [https://www.heise.de/ix/heft/Letzte-Rettung-4054884.html iX-Artikel zur Magic-SysRq-Rettung] |
| | | | |
| | == Tastatur == | | == Tastatur == |
| Zeile 452: |
Zeile 506: |
| | synclient TouchPadOff=1 | | synclient TouchPadOff=1 |
| | kann das Klicken durch Tippen auf das TouchPad abgeschaltet werden. Siehe dazu auch [http://forum.ubuntuusers.de/topic/ubuntu-12-04-mouseklicks-touchpad-deaktivieren/#post-4381662 diesen Thread]. | | kann das Klicken durch Tippen auf das TouchPad abgeschaltet werden. Siehe dazu auch [http://forum.ubuntuusers.de/topic/ubuntu-12-04-mouseklicks-touchpad-deaktivieren/#post-4381662 diesen Thread]. |
| | + | |
| | + | === Maus nicht erkannt beim Starten === |
| | + | |
| | + | Bei Linux Mint 19.1 und dem Motherboard [[ASRock B360 Pro4]] wird evtl die USB-Maus (in meinem Fall Microsoft Optical Mouse) beim Systemstart nicht erkannt. Hier könnte der Kernelparameter <code>i8042.nopnp</code> helfen.<ref>Vgl. http://lightrush.ndoytchev.com/random-1/i8042quirkoptions</ref> |
| | | | |
| | == RS232 Schnittstelle == | | == RS232 Schnittstelle == |
| Zeile 468: |
Zeile 526: |
| | === LIRC === | | === LIRC === |
| | | | |
| − | Die Signale der [http://www.sbprojects.com/knowledge/ir/ Infrarot]-Fernbedienungen konnten früher nur über [http://www.lirc.org LIRC] empfangen werden, heutzutage kann der Kernel selbst viele Signale direkt als Tastatur-Ereignisse verarbeiten. LIRC hat aber weiterhin Sinn, z.B. wenn man bei der Konfiguration flexibler sein will oder wenn ein IR-Empfänger oder eine IR-Fernbedienung noch nicht vom Kernel unterstützt wird.<ref>Vgl. http://www.lirc.org/html/configuration-guide.html</ref> | + | Die Signale der [http://www.sbprojects.com/knowledge/ir/ Infrarot]-Fernbedienungen konnten früher nur über [http://www.lirc.org LIRC] empfangen werden, heutzutage kann der Kernel selbst viele Signale direkt als Tastatur-Ereignisse verarbeiten.<ref>Siehe [http://atterer.org/mythtv-xmbc-remote-control-without-lirc] .</ref> LIRC hat aber weiterhin Sinn, z.B. wenn man bei der Konfiguration flexibler sein will oder wenn ein IR-Empfänger oder eine IR-Fernbedienung noch nicht vom Kernel unterstützt wird.<ref>Vgl. http://www.lirc.org/html/configuration-guide.html</ref> |
| | | | |
| | Mit LIRC kann man auch die vom Kernel unterstützten IR-Geräte nutzen; dabei geht man den Umweg über das Linux-Input-System. | | Mit LIRC kann man auch die vom Kernel unterstützten IR-Geräte nutzen; dabei geht man den Umweg über das Linux-Input-System. |
| Zeile 478: |
Zeile 536: |
| | anzeigen. | | anzeigen. |
| | | | |
| | + | Mit |
| | + | sudo ir-keytable --device /dev/input/event10 -t |
| | + | kann man testen, ob überhaupt Signale ankommen (event10 durch den auf den IR-Empfänger passenden event setzen, siehe oben ir-keytable). Das sudo kann weggelassen werden, indem man den Benutzer der Gruppe <code>input</code> zuweist:<ref>Vgl. http://www.lirc.org/html/devinput.html</ref> |
| | + | sudo adduser USER input |
| | + | |
| | + | Zunächst gibt man beim Testen alle unterstützten Protokolle an: |
| | + | ir-keytable -p jvc,rc-5,rc-6,other -t |
| | + | |
| | + | Dann setzt man das korrekte Protokoll, indem hinter -p die übrigen Protokolle weggelassen werden. |
| | + | Außerdem kopiert man eine Kernel-Keymap nach /etc/rc_keymap, bearbeitet sie gegebenenfalls <small>([http://atterer.org/mythtv-xmbc-remote-control-without-lirc siehe dazu die Key codes( MythTV) ] und die [http://kodi.wiki/view/Keyboard_controls Standardbelegung der Tastatur unter Kodi])</small> und liest sie dann ein |
| | + | sudo cp /lib/udev/rc_keymaps/tt_1500 /etc/rc_keymaps/meine_keymap |
| | + | sudo ir-keytable -p jvc -c -w /etc/rc_keymaps/meine_keymap |
| | + | |
| | + | Hier mal meine Beispiel-Tabelle <code>/etc/rc_keymaps/meine_tt</code> für die Nutzung einer alten Technotrend-Fernbedienung für [[Kodi]]: |
| | + | <pre> |
| | + | # table tt_1500, type: RC5 |
| | + | 0x1501 KEY_POWER |
| | + | 0x1502 KEY_SHUFFLE |
| | + | 0x1503 KEY_1 |
| | + | 0x1504 KEY_2 |
| | + | 0x1505 KEY_3 |
| | + | 0x1506 KEY_4 |
| | + | 0x1507 KEY_5 |
| | + | 0x1508 KEY_6 |
| | + | 0x1509 KEY_7 |
| | + | 0x150a KEY_8 |
| | + | 0x150b KEY_9 |
| | + | 0x150c KEY_0 |
| | + | 0x150d KEY_UP |
| | + | 0x150e KEY_LEFT |
| | + | 0x150f KEY_ENTER |
| | + | 0x1510 KEY_RIGHT |
| | + | 0x1511 KEY_DOWN |
| | + | 0x1512 KEY_C |
| | + | 0x1513 KEY_BACKSPACE |
| | + | 0x1514 KEY_RED |
| | + | 0x1515 KEY_GREEN |
| | + | 0x1516 KEY_YELLOW |
| | + | 0x1517 KEY_BLUE |
| | + | 0x1518 KEY_MUTE |
| | + | 0x1519 KEY_TEXT |
| | + | 0x151a KEY_MODE |
| | + | 0x1521 KEY_OPTION |
| | + | 0x1522 KEY_E |
| | + | 0x1523 KEY_CHANNELUP |
| | + | 0x1524 KEY_CHANNELDOWN |
| | + | 0x1525 KEY_VOLUMEUP |
| | + | 0x1526 KEY_VOLUMEDOWN |
| | + | 0x1527 KEY_SETUP |
| | + | 0x153a KEY_RECORD |
| | + | 0x153b KEY_SPACE |
| | + | 0x153c KEY_X |
| | + | 0x153d KEY_REWIND |
| | + | 0x153e KEY_PAUSE |
| | + | 0x153f KEY_FORWARD |
| | + | </pre> |
| | + | |
| | + | Mit |
| | + | ir-keytable --read |
| | + | kann man sich die eingelesenen Keycodes anzeigen lassen. |
| | + | |
| | + | Hier ist mit dem reinen Kernel-Treiber Schluss. |
| | | | |
| | + | Man kann es sich aber auch komplizierter machen und LIRC installieren: |
| | + | sudo aptitude install lirc |
| | + | |
| | + | Die /etc/lirc/hardware.conf bekommt folgenden Inhalt:<ref>Vgl. [http://forum.kodi.tv/showthread.php?tid=101151 ir-keytable or: How I Learned to Stop Worrying about the LIRC Kernel] </ref> |
| | + | LOAD_MODULES=true |
| | + | DRIVER="devinput" |
| | + | DEVICE="/dev/input/event6" |
| | + | event6 muss dabei an den mit |
| | + | ir-keytable |
| | + | Gerätenamen angepasst werden. '''Achtung:''' Nach einem Neustart kann der IR-Receiver einem anderen eventXXX zugeordnet sein. |
| | | | |
| − | Siehe
| |
| − | * [http://www.lirc.org/html/configuration-guide.html Ausführliche Anleitung und Erläuterung der LIRC-Funktionsweise]
| |
| − | * [https://marklodato.github.io/2013/10/24/how-to-use-lirc.html LIRC-Anleitung von Mark Lodato] inkl. Abklemmen der Kernel-Funktionalität über xorg.conf.d-Dateien
| |
| | | | |
| − | == Prozessverwaltung == | + | Für die /etc/lirc/lircd.conf greift man auf die devinput-Datei zurück: |
| | + | sudo cp -av /usr/share/lirc/remotes/devinput/lircd.conf.devinput /etc/lirc/lircd.conf |
| | + | |
| | + | Danach müssen noch [https://github.com/xbmc/xbmc/blob/Jarvis/system/Lircmap.xml Lircmap.xml] in <code>~/.kodi/userdata/</code> und die [https://github.com/xbmc/xbmc/blob/master/system/keymaps/remote.xml remote.xml] (jeweils auf korrektes Release/github-Branch achten)<ref>Siehe http://kodi.wiki/view/Keymap.xml#Remote_Buttons</ref> in <code>~/.kodi/userdata/keymaps/</code> hineinkopiert werden, möchte man [[Kodi]] nutzen. Dabei ist in die Lircmap.xml in das device-Attribut des remote-Elements korrekt zu setzen. Beispiel: |
| | + | <remote device="/dev/input/event6"> |
| | | | |
| − | === nohup ===
| |
| − | * Mit dem Befehl <code>nohup</code> kann man Prozesse starten, die nicht beendet werden, wenn die Shell verlassen wird. Die Standardausgabe <code>stdout</code> wird nach <code>nohup.out</code> im aktuellen Verzeichnis umgeleitet (kann z.B. mit <code>cat nohup.out</code> angesehen werden.
| |
| | | | |
| − | === cron === | + | Da [[udev]] insbesondere bei mehreren IR-Receivern immer wieder eine andere Gerätenummer (eventXX) zuweist, sollte man mit einer eigenen udev-Regel einen symbolischen Link erstellen. Dazu legt man eine Datei <code>/etc/udev/rules.d/10-infrared.rules</code> an und gibt ihr folgenden Inhalt: |
| | + | ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="ITE8713 CIR transceiver", SYMLINK+="input/infrared" |
| | | | |
| − | ==== crontab ====
| + | Hilfe zum Finden der korrekten Attribute für den eigenen IR-Empfänger erhält man mit |
| − | * Mit dem Befehl <code>crontab</code> lassen sich Prozesse zu einem bestimmten Zeitpunkt ausführen. Anleitungen finden sich z.B. bei [http://de.wikipedia.org/wiki/Cron Wikipedia], [http://www.newbie-net.de/anleitung_cron.html Newbie-Net]. Mit
| + | udevadm info -a -n /dev/input/event7 |
| − | crontab -l
| + | wobei natürlich event7 mit dem korrekten eventXX aus dem Aufruf von <code>ir-keytable</code> ersetzt werden muss. |
| − | wird die <code>crontab</code> des aktuellen Benutzers ausgegeben. Mit
| |
| | | | |
| − | crontab -e
| |
| − | kann die <code>crontab</code> geändert werden. Eine Crontab-Datei enthält Zeilen mit normalerweise sechs durch Leerzeichen getrennte Spalten:
| |
| − | * Minuten
| |
| − | * Stunden
| |
| − | * Tage
| |
| − | * Monate
| |
| − | * Wochentage
| |
| − | * Auszuführender Befehl / Datei
| |
| − | Beispiel:
| |
| − | 2 3 * * * cp src backup
| |
| − | @reboot echo "hallo"
| |
| − | */10 * * * * echo "schon wieder"
| |
| | | | |
| − | In der ersten Zeile wird der cron-Dämon angewiesen, immer um 3:02 Uhr morgens an jedem Tag die Datei <code>src</code> nach <code>backup</code> zu kopieren. In der zweiten Zeile wird bei jedem Boot-Vorgang ein "hallo" per Mail(?) an den jeweiligen Benutzer geschickt. Die letzte Zeile wird alle 10 Minuten ausgeführt. Zu den weiteren "@-Zeiten" siehe http://library.linode.com/linux-tools/utilities/cron.
| + | Mit |
| | + | sudo udevadm test /devices/virtual/rc/rc0/input7/event7 |
| | + | kann man die udev-Regel testen. |
| | | | |
| − | ==== /etc/cron.weekly u.a. ====
| + | sudo udevadm trigger |
| | + | löst den udev-Zuweisungsvorgang aus (genauso wie beim Neustart). |
| | | | |
| − | Ausführbare Dateien in den Verzeichnissen <code>/etc/cron.daily</code>, <code>/etc/cron.weekly</code> und <code>/etc/cron.monthly</code> werden von <code>anacron</code> und/oder <code>cron</code> periodisch ausgeführt.
| + | Mit |
| | + | ls -als /dev/input/infrared |
| | + | kann man sehen, ob man erfolgreich war. |
| | + | |
| | | | |
| − | Gegenüber der <code>crontab</code>-Methode ergibt sich daraus ein Vorteil bei Rechnern, die nicht 24 Stunden im Betrieb sind. Bei [[Debian]] muss dafür jedoch anacron nachinstalliert werden (als root):
| |
| − | aptitude install anacron
| |
| | | | |
| − | Die Dateinamenskonvention in den Verzeichnissen <code>/etc/cron.daily</code> etc. ist recht restriktiv. Siehe dazu die [[man]]-pages von <code>run-parts</code>. Um zu sehen, ob das eigene Skript die Namenskonvention einhält, kann man
| + | Siehe |
| − | run-parts --test /etc/cron.daily
| + | * [http://www.lirc.org/html/configuration-guide.html Ausführliche Anleitung und Erläuterung der LIRC-Funktionsweise] |
| − | ausführen. Es wird eine Liste derjenigen Skripte ausgegeben, die die Namenskonvention einhält.
| + | * [https://marklodato.github.io/2013/10/24/how-to-use-lirc.html LIRC-Anleitung von Mark Lodato] inkl. Abklemmen der Kernel-Funktionalität über xorg.conf.d-Dateien |
| | + | * [https://www.mythtv.org/wiki/User_Manual:IR_control_via_evdev MythTV-Anleitung zu ir-keytable] |
| | + | * [http://forum.kodi.tv/showthread.php?tid=101151 IR-Remote nur über Kernel, nicht über LIRC] |
| | + | * [http://forum.kodi.tv/showthread.php?tid=104541 Ausführliche Erklärung von LIRC in mehreren Forumsbeiträgen] |
| | | | |
| − | == Benutzerverwaltung == | + | ==== InputLirc ==== |
| | | | |
| − | === neuer Benutzer ===
| + | InputLirc nutzt das Kernel-Input-Subsystem (ir-keytable) und gibt die Events an LIRC weiter, das dann für die Aktionen in den Anwendungen sorgt. |
| | | | |
| − | * Einen neuen Benutzer legt man am Besten mit <code>adduser NEUERNUTZER </code> an. Im Gegensatz zu <code>useradd </code> wird dabei gleich ein /home-Verzeichnis angelegt. Ein Passwort wird dabei auch gleich abgefragt.
| + | Installation: |
| | + | sudo aptitude install lirc lirc-x inputlirc |
| | | | |
| − | === Benutzer-Nummer ===
| |
| | | | |
| − | * Die [http://www.unixtutorial.org/2008/01/how-to-find-uid-in-unix/ UID findet man mit dem Befehl <code>id</code>].
| + | In <code>/etc/default/inputlirc</code> muss die Variable <code>EVENTS</code> auf den von der oben angegebenen [[udev]]-Regel erstellten symbolischen Link gesetzt werden:<ref>Vgl. http://kodi.wiki/view/HOW-TO:Set_up_an_MCE_remote_control_in_Linux </ref> |
| | + | EVENTS="/dev/input/infrared" |
| | + | Das ist dann auch der korrekte Name für das <code><remote></code>-Tag in der <code>.kodi/userdata/Lircmapxml</code>. |
| | + | Kernel-Input kann mit ir-keytable -t getestet werden (siehe oben). |
| | | | |
| | + | Die LIRC-Tastencodes können mit |
| | + | irw |
| | + | angezeigt werden (einzelne Tasten auf der Fernbedienung betätigen). |
| | | | |
| − | === Konsolen-Benutzer ohne Passwort === | + | [[Kodi]]-Funktionen: Die <code>~/.kodi/userdata/Lircmap.xml</code> erhält folgenden Inhalt: |
| − | * Für einen Benutzer ohne Passwort (beim Login auf Shell-Ebene muss man nur den Login-Namen, aber kein Passwort eingeben)<ref>Vergleiche http://onlyubuntu.blogspot.com/2008/06/howto-enable-empty-password-login-in.html.</ref> legt man ihn in folgenden zwei Schritten an:
| + | <pre> |
| − | adduser userWithoutPassword | + | <?xml version="1.0" encoding="UTF-8"?> |
| − | passwd -d userWithoutPassword | + | <!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml --> |
| | + | <!-- --> |
| | + | <!-- How to add remotes --> |
| | + | <!-- <remote device="name_Lirc_calls_the_remote"> --> |
| | + | <!-- --> |
| | + | <!-- For the commands the layout following layout is used --> |
| | + | <!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND> --> |
| | + | <!-- --> |
| | + | <!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml --> |
| | | | |
| − | === AutoLogin auf Konsole === | + | <lircmap> |
| | + | <remote device="/dev/input/event6"> |
| | + | <!-- new kernel-based lirc button names --> |
| | + | <eject>KEY_EJECTCD</eject> |
| | + | <left>KEY_LEFT</left> |
| | + | <right>KEY_RIGHT</right> |
| | + | <up>KEY_UP</up> |
| | + | <down>KEY_DOWN</down> |
| | + | <select>KEY_OK</select> |
| | + | <start>KEY_HOME</start> |
| | + | <back>KEY_BACK</back> |
| | + | <record>KEY_RECORD</record> |
| | + | <play>KEY_PLAY</play> |
| | + | <pause>KEY_PAUSE</pause> |
| | + | <stop>KEY_STOP</stop> |
| | + | <forward>KEY_FORWARD</forward> |
| | + | <reverse>KEY_REWIND</reverse> |
| | + | <volumeplus>KEY_VOLUMEUP</volumeplus> |
| | + | <volumeminus>KEY_VOLUMEDOWN</volumeminus> |
| | + | <pageplus>KEY_CHANNELUP</pageplus> |
| | + | <pageminus>KEY_CHANNELDOWN</pageminus> |
| | + | <skipplus>KEY_NEXT</skipplus> |
| | + | <skipminus>KEY_AGAIN</skipminus> |
| | + | <mute>KEY_MUTE</mute> |
| | + | <power>KEY_POWER</power> |
| | + | <myvideo>KEY_VIDEO</myvideo> |
| | + | <mymusic>KEY_AUDIO</mymusic> |
| | + | <livetv>LiveTV</livetv> |
| | + | <guide>KEY_EPG</guide> |
| | + | <one>KEY_1</one> |
| | + | <two>KEY_2</two> |
| | + | <three>KEY_3</three> |
| | + | <four>KEY_4</four> |
| | + | <five>KEY_5</five> |
| | + | <six>KEY_6</six> |
| | + | <seven>KEY_7</seven> |
| | + | <eight>KEY_8</eight> |
| | + | <nine>KEY_9</nine> |
| | + | <zero>KEY_0</zero> |
| | + | <red>KEY_RED</red> |
| | + | <green>KEY_GREEN</green> |
| | + | <yellow>KEY_YELLOW</yellow> |
| | + | <blue>KEY_BLUE</blue> |
| | + | <menu>KEY_DVD</menu> |
| | + | <clear>KEY_CLEAR</clear> |
| | + | <enter>KEY_ENTER</enter> |
| | | | |
| − | ==== AutoLogin unter SysV ====
| + | <!-- extensions --> |
| − | Ein automatisches Login erreicht man mit dem Paket [http://wiki.ubuntuusers.de/autologin rungetty]:
| + | <back>KEY_EXIT</back> |
| − | aptitude install rungetty
| + | </remote> |
| | + | </lircmap |
| | + | </pre> |
| | + | Siehe |
| | + | * http://www.pro-linux.de/artikel/2/1682/einstieg-in-lirc-mit-inputlirc.html |
| | | | |
| | + | ==== ir-keytable und Kodi ==== |
| | | | |
| − | Danach muss man in <code>/etc/init/tty1.conf</code> die Zeile <code>exec /sbin/getty 38400 tty1</code> durch folgende Zeile ersetzen:
| + | Für neuere Linux- und [[Kodi]]-Versionen braucht man im Regelfall LIRC nicht. <code>ir-keytable</code> reicht aus. |
| − | exec /sbin/rungetty --autologin namedesbenutzers tty1
| + | Beispiel für eine TT-Fernbedienung an einem Intel [[NUC]] mit eingebautem IR-Empfänger: |
| | + | Man bastelt auf Basis der <code>/lib/udev/rc_keymaps/tt_1500</code> eine neue Datei namens <code>/etc/rc_keymaps/meine_tt</code> mit folgendem Inhalt: |
| | + | <pre> |
| | + | # table tt_1500, type: RC5 |
| | + | 0x1501 KEY_POWER |
| | + | 0x1502 KEY_SHUFFLE |
| | + | 0x1503 KEY_1 |
| | + | 0x1504 KEY_2 |
| | + | 0x1505 KEY_3 |
| | + | 0x1506 KEY_4 |
| | + | 0x1507 KEY_5 |
| | + | 0x1508 KEY_6 |
| | + | 0x1509 KEY_7 |
| | + | 0x150a KEY_8 |
| | + | 0x150b KEY_9 |
| | + | 0x150c KEY_0 |
| | + | 0x150d KEY_UP |
| | + | 0x150e KEY_LEFT |
| | + | 0x150f KEY_ENTER |
| | + | 0x1510 KEY_RIGHT |
| | + | 0x1511 KEY_DOWN |
| | + | 0x1512 KEY_C |
| | + | 0x1513 KEY_BACKSPACE |
| | + | 0x1514 KEY_RED |
| | + | 0x1515 KEY_GREEN |
| | + | 0x1516 KEY_YELLOW |
| | + | 0x1517 KEY_BLUE |
| | + | 0x1518 KEY_MUTE |
| | + | 0x1519 KEY_TEXT |
| | + | 0x151a KEY_MODE |
| | + | 0x1521 KEY_OPTION |
| | + | 0x1522 KEY_E |
| | + | 0x1523 KEY_CHANNELUP |
| | + | 0x1524 KEY_CHANNELDOWN |
| | + | 0x1525 KEY_VOLUMEUP |
| | + | 0x1526 KEY_VOLUMEDOWN |
| | + | 0x1527 KEY_SETUP |
| | + | 0x153a KEY_RECORD |
| | + | 0x153b KEY_SPACE |
| | + | 0x153c KEY_X |
| | + | 0x153d KEY_REWIND |
| | + | 0x153e KEY_PAUSE |
| | + | 0x153f KEY_FORWARD |
| | + | </pre> |
| | | | |
| − | Bei anderen Linux-Systemen (z.B. [[Debian]] 6.0 Squeeze) muss man in der <code>/etc/inittab</code> die Zeile <code>1:2345:respawn:/sbin/getty 38400 tty1</code> durch folgende Zeile ersetzen:
| |
| − | 1:2345:respawn:/sbin/rungetty --autologin namedesbenutzers tty1
| |
| | | | |
| − | Nach dem Parameter <code>tty1</code> kann man noch ein Kommando angeben, das automatisch ausgeführt wird. Ein textbasierter Music-Client lässte sich daher durch Aufruf von <code>ncmpcpp</code> erstellen; bei Beenden des Programms wird es dann automatisch wieder gestartet. Dazu muss allerdings zuvor der [[MPD]]-Server installiert sein.
| + | Diese schreibt man auf den Intel-IR-Receiver (hier: <code>rc0</code>) mit |
| | + | sudo ir-keytable -c -w /etc/rc_keymaps/meine_tt -s rc0 |
| | | | |
| − | ==== AutoLogin unter Systemd ====
| + | Um nicht noch durch den im DVB-Stick enthaltenen IR-Receiver (hier: <code>rc1</code>) verwirrt zu werden, kann man dessen Zuordnungstabelle löschen: |
| | + | sudo ir-keytable -c -s rc1 |
| | | | |
| − | Siehe dazu http://noctus.net/2011/mingetty-und-systemd
| + | Kodi muss zur Wirksamkeit wohl neu gestartet werden. |
| | | | |
| − | === Weiterführendes === | + | ==== IR Probleme ==== |
| | | | |
| − | * Die ct stellte [http://www.ct.de/1103122 Skripte für ein manipulationssicheres Linux] vor (c't 3/2011 S. 122ff.).
| + | Zu Testzwecken hilft das Anzeigen einzelner Tastendrücke: |
| | + | irw |
| | | | |
| − | * http://de.m.wikipedia.org/wiki/Unix-Kommandos#Benutzer-_und_Rechteverwaltung
| |
| | | | |
| − | == Virtualisierung == | + | Mit Intel NUCs scheint es manchmal Probleme mit dem internen IR-Receiver zu geben. <ref>Siehe https://communities.intel.com/thread/52072?start=15&tstart=0</ref> |
| | | | |
| − | * [ftp://ftp.freiesmagazin.de/2009/freiesMagazin-2009-05.pdf freiesmagazin.de Mai 2009] zeigt, wie man einen virtuellen Rechner mittels KVM am Heimrechner einrichtet.
| + | Wenn man zwei IR-Receiver (z.B. eingebauten und den einer TV-Karte) hat, kann es passieren, dass man das Protokoll für den zweiten nicht einstellen kann.<ref>Vgl. https://github.com/OpenELEC/OpenELEC.tv/issues/3137</ref>,<ref>Siehe http://ilostmynotes.blogspot.de/2012/12/fintek-ir-receiver-and-xbox-remote-to.html </ref>, <ref>https://bbs.archlinux.org/viewtopic.php?id=151479&p=2</ref> |
| − | * Open VirtualBox (von Oracle) wird z.B. bei Ubuntu mitgeliefert.
| |
| | | | |
| − | * [[Docker]] ist im Standardpaketumfang von [[Linux Mint]] enthalten.
| + | Möglicherweise gibt es auf einem Debian Jessie ein LIRC zuviel und die Tasten werden ununterbrochen wiederholt. Dann hilft evtl.: |
| | + | sudo service lircd-uinput stop |
| | + | Den <code>lircd-uinput</code> - Service kann man auch dauerhaft deaktivieren: |
| | + | sudo systemctl disable lircd-uinput |
| | | | |
| − | * LXC ist ebenfalls eine Container-Lösung
| + | ===== IR-Fernbedienung erzeugt doppelte Tastendrücke ===== |
| | | | |
| − | == Shells == | + | Wenn man [[Kodi]] über eine Infrarot-Fernbedienung steuern will und sie wie oben dargestellt mit [[LIRC]] und Kodis [[Lircmap.xml]] eingerichtet hat, dann kann es vorkommen, dass die Fernbedienung Tastendrücke doppelt an Kodi meldet. Wenn dies der Fall ist, schaltet man das entsprechende Input-Device im X-Server ab. Dazu sucht man mit |
| | + | export DISPLAY=:0.0 |
| | + | xinput list |
| | + | die Id (z.B. 9) des IR-Adapters (üblicherweise benannt nach dem TV-Stick, der den IR-Empfänger integriert hat). |
| | + | Mit |
| | + | xinput list-props 9 |
| | + | (statt 9 ggf. andere ID angeben) kann man dann die Eigenschaften des IR-Empfängers ausgeben lassen. Hinter jeder Eigenschaft ist in Klammern eine Eigenschaftsnummer angegeben. Die Eigenschaft mit dem "Enabled" im Text, muss auf 0 gesetzt werden, z.B. so: |
| | + | xinput set-prop 9 138 0 |
| | + | Oft funktioniert auch direkt |
| | + | xinput set-prop 9 "Device Enabled" 0 |
| | | | |
| − | === Dokumentation für bash (Kommandozeile/Konsole) ===
| + | Dazu gibt es auch [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/663651/comments/23 ein fertiges Skript]. |
| | | | |
| − | * [http://tldp.org/LDP/abs/html/index.html Advanced Bash Shell Scripting Guide] mit vielen Beispielen.
| + | == Prozessverwaltung == |
| − | * [http://mywiki.wooledge.org/BashPitfalls Häufige Fehler bei der Bash-Programmierung]
| |
| − | * [http://linuxconfig.org/Bash_scripting_Tutorial Bash Tutorial]
| |
| | | | |
| − | === Ablaufsteuerung === | + | === nohup === |
| − | ==== if-Verzweigung ====
| + | * Mit dem Befehl <code>nohup</code> kann man Prozesse starten, die nicht beendet werden, wenn die Shell verlassen wird. Die Standardausgabe <code>stdout</code> wird nach <code>nohup.out</code> im aktuellen Verzeichnis umgeleitet (kann z.B. mit <code>cat nohup.out</code> angesehen werden. |
| | | | |
| − | Der Rückgabewert 0 einer Funktion oder eines Kommando wird als wahr gewertet.
| + | === cron === |
| | | | |
| − | Damit gibt
| + | ==== crontab ==== |
| − | if true; then echo eins; else echo zwei; fi; | + | * Mit dem Befehl <code>crontab</code> lassen sich Prozesse zu einem bestimmten Zeitpunkt ausführen. Anleitungen finden sich z.B. bei [http://de.wikipedia.org/wiki/Cron Wikipedia], [http://www.newbie-net.de/anleitung_cron.html Newbie-Net]. Mit |
| − | "eins" aus.
| + | crontab -l |
| | + | wird die <code>crontab</code> des aktuellen Benutzers ausgegeben. Mit |
| | | | |
| − | Die Negation erreicht man mit dem Operator <code>!</code>:
| + | crontab -e |
| − | if ! true; then echo eins; else echo zwei; fi;
| + | kann die <code>crontab</code> geändert werden. Eine Crontab-Datei enthält Zeilen mit normalerweise sechs durch Leerzeichen getrennte Spalten: |
| − | liefert "zwei".
| + | * Minuten |
| − | | + | * Stunden |
| − | | + | * Tage |
| − | ==== while-Schleife ====
| + | * Monate |
| − | * Die bash-Shell bietet auch eine einfach zu nutzende While-Schleife. Beispiel: | + | * Wochentage |
| − | while true; do df -h; sleep 50s; echo `date`; done;
| + | * Auszuführender Befehl / Datei |
| − | * Das kann man auch mit einer Pipe kombinieren (diese Schleife konvertiert Musikdateien, die nur nach der Tracknummer benannt sind, in TrackNr.mp3 um): | + | Beispiel: |
| − | find /mnt/Daten/MusikSorted/ | grep ".*/[0-9][0-9]$" | (while read i; do mv "$i" "$i.mp3"; done; )
| + | 2 3 * * * cp src backup |
| − | ==== Funktionen ====
| + | @reboot echo "hallo" |
| − | * Funktionen in einem Shell-Script sind einfach definiert:
| + | */10 * * * * echo "schon wieder" |
| − | function meineFunktion() {
| |
| − | echo Hallo welt und $1;
| |
| − | }
| |
| − | # Aufruf:
| |
| − | meineFunktion Tina
| |
| − | # Ausgabe: Hallo welt und Tina
| |
| | | | |
| − | === Variablen ===
| + | In der ersten Zeile wird der cron-Dämon angewiesen, immer um 3:02 Uhr morgens an jedem Tag die Datei <code>src</code> nach <code>backup</code> zu kopieren. In der zweiten Zeile wird bei jedem Boot-Vorgang ein "hallo" per Mail(?) an den jeweiligen Benutzer geschickt. Die letzte Zeile wird alle 10 Minuten ausgeführt. Zu den weiteren "@-Zeiten" siehe http://library.linode.com/linux-tools/utilities/cron. |
| − | * Array-Variablen können z.B. folgendermaßen Werte zugewiesen werden:
| |
| − | meinArray=(eins zwei drei vier)
| |
| | | | |
| − | * Ein komisches Verhalten zieht <code>declare</code> innerhalb einer Funktion bei: Es begrenzt die Sichtbarkeit der Variablen auf den Funktionsbereich. Wenn globale Variablen zum Informationsaustausch zwischen Funktion und aufrufendem Skript genutzt werden sollen, sollte declare in der Funktion also besser nicht genutzt werden.
| + | ==== /etc/cron.weekly u.a. ==== |
| | | | |
| − | === Parameteroptionen verarbeiten ===
| + | Ausführbare Dateien in den Verzeichnissen <code>/etc/cron.daily</code>, <code>/etc/cron.weekly</code> und <code>/etc/cron.monthly</code> werden von <code>anacron</code> und/oder <code>cron</code> periodisch ausgeführt. |
| | | | |
| − | [http://www.mkssoftware.com/docs/man1/getopts.1.asp getopts], ein in der Bash enthaltenes Kommando, hilft Kommandozeilenoptionen zu verarbeiten.
| + | Gegenüber der <code>crontab</code>-Methode ergibt sich daraus ein Vorteil bei Rechnern, die nicht 24 Stunden im Betrieb sind. Bei [[Debian]] muss dafür jedoch anacron nachinstalliert werden (als root): |
| | + | aptitude install anacron |
| | | | |
| − | === Exit-Status ===
| + | Die Dateinamenskonvention in den Verzeichnissen <code>/etc/cron.daily</code> etc. ist recht restriktiv. Siehe dazu die [[man]]-pages von <code>run-parts</code>. Um zu sehen, ob das eigene Skript die Namenskonvention einhält, kann man |
| | + | run-parts --test /etc/cron.daily |
| | + | ausführen. Es wird eine Liste derjenigen Skripte ausgegeben, die die Namenskonvention einhält. |
| | | | |
| − | Mit
| |
| − | echo $?
| |
| − | wird der Rückgabewert des unmittelbar davor ausgeführten Shell-Kommandos/Skripts ausgegeben.
| |
| | | | |
| − | Das kann z.B. für einen Abbruch genutzt werden:
| + | ==== Feststellen, ob Script von Cron gestartet wurde ==== |
| − | do_something;
| |
| − | exit_status=$?;
| |
| − | if (($exit_status)); then
| |
| − | echo do_something failed.;
| |
| − | exit $exit_status;
| |
| − | fi;
| |
| | | | |
| − | Die Kurzform für die ersten drei Zeilen wäre:
| + | Siehe https://stackoverflow.com/questions/33354864/how-to-check-if-linux-shell-script-is-executed-by-a-cronjob : |
| − | if do_something; then
| + | <pre> |
| | | | |
| − | === Debugging ===
| + | if [ -t 0 ]; then |
| | + | echo "I'm on a TTY, this is interactive." |
| | + | else |
| | + | logger "My output may get emailed, or may not. Let's log things instead." |
| | + | fi |
| | + | </pre> |
| | | | |
| − | Mit
| + | == Benutzerverwaltung == |
| − | set -x
| |
| − | wird Tracing eingeschaltet: Jeder Script-Befehl wird vor der Ausführung auf der Konsole ausgegeben.
| |
| | | | |
| − | Mit
| + | === neuer Benutzer === |
| − | set -e
| |
| − | wird grundsätzlich das Script bei einem erfolglosen Befehl abgebrochen.
| |
| | | | |
| − | === Verarbeiten von Textstreams ===
| + | * Einen neuen Benutzer legt man am Besten mit <code>adduser NEUERNUTZER </code> an. Im Gegensatz zu <code>useradd </code> wird dabei gleich ein /home-Verzeichnis angelegt. Ein Passwort wird dabei auch gleich abgefragt. |
| | | | |
| − | Linux kennt zwei Standard-Ausgabe-Streams, stdout und stderr. Die für stderr bestimmten Ausgaben können mit dem Operator "2>" in eine Datei umgeleitet werden.
| + | === Benutzer-Nummer === |
| | | | |
| − | * [http://www.easylinux.de/2005/09/084-umleitungen/ Einführung in Pipes] | + | * Die [http://www.unixtutorial.org/2008/01/how-to-find-uid-in-unix/ UID findet man mit dem Befehl <code>id</code>]. |
| − | * Sinnvolle Hilfen zum Verarbeiten von Textstreams/Auslesen von Dateien
| |
| − | ** [[wc]] zählt Worte und Zeilen
| |
| − | ** [[cut]] liefert bestimmte Teile einer Zeile
| |
| − | ** [[grep]] sucht nach Textbestandteilen
| |
| − | ** [[sed]] hilft beim Editieren einer Datei auf der Kommandozeile bzw. in Shell-Skripten, siehe z.B. der [http://www.freiesmagazin.de/ftp/2010/freiesMagazin-2010-03.pdf Artikel zu sed im "freien Magazin"].
| |
| − | ** [[printf]] ermöglicht wie in der Programmiersprache C das formatierte Ausgeben von Zahlen und Zeichen
| |
| − | printf '%s mit führenden Nullen: %05d' Zahl 76
| |
| | | | |
| − | ==== sed ====
| |
| − | Beispiel für sed für die Umwandlung in eine Playlist:
| |
| − | sed -e 's/..\/Musik\/Music/dhMusic/' -e 's/\/[0-9][0-9] /\//' <playlistOriginal.m3u > playListNeu.m3u
| |
| − | In der neuen Playlist
| |
| − | * ist der Pfadanfang geändert von ../Musik/Musik nach dhMusic und
| |
| − | * sind die Trackziffern inklusive des Leerzeichens weggelassen.
| |
| | | | |
| − | Etwas komplizierter
| + | === Konsolen-Benutzer ohne Passwort === |
| − | sed -e 's:\\:/:g' -e 's:../Musik/Music/\(.\):sortedMusic/\1/\1:' -e 's:/\([0-9][0-9]\) :/\1_-_:' -e 's/ /_/g' < playlistOriginal.m3u > playListNeu.m3u
| + | * Für einen Benutzer ohne Passwort (beim Login auf Shell-Ebene muss man nur den Login-Namen, aber kein Passwort eingeben)<ref>Vergleiche http://onlyubuntu.blogspot.com/2008/06/howto-enable-empty-password-login-in.html.</ref> legt man ihn in folgenden zwei Schritten an: |
| | + | adduser userWithoutPassword |
| | + | passwd -d userWithoutPassword |
| | | | |
| − | * Zunächst wird der Backslash durch den Slash ersetzt.
| + | === AutoLogin auf Konsole === |
| − | * Dann der Pfadanfang geändert
| |
| − | * Außerdem wird die Pfadstruktur um eine Ebene erweitert: Den Anfangsbuchstaben des Interpreten
| |
| − | * Zwischen die Trackziffern und den Namen des Lieds werden noch ein Trennstrich mit zwei Leerzeichen eingefügt.
| |
| − | * Schließlich werden alle Leerzeichen durch einen Unterstrich ersetzt.
| |
| | | | |
| − | Mit dem Modifizierer <code>-i</code> (oder <code>--in-place</code>) kann eine Datei geändert werden, die zugleich als Eingabestream fungiert.
| + | ==== AutoLogin unter SysV ==== |
| | + | Ein automatisches Login erreicht man mit dem Paket [http://wiki.ubuntuusers.de/autologin rungetty]: |
| | + | aptitude install rungetty |
| | | | |
| − | === Datum ===
| |
| | | | |
| − | date
| + | Danach muss man in <code>/etc/init/tty1.conf</code> die Zeile <code>exec /sbin/getty 38400 tty1</code> durch folgende Zeile ersetzen: |
| − | zeigt das aktuelle Datum an.
| + | exec /sbin/rungetty --autologin namedesbenutzers tty1 |
| − | date +%s
| |
| − | zeigt die seit 1970 vergangenen Sekunden an.
| |
| − | date -d "2100-1-1 -1 day" | |
| − | zeigt den letzten Tag des 21. Jahrhunderts (31.12.2099) an.
| |
| | | | |
| − | Siehe
| + | Bei anderen Linux-Systemen (z.B. [[Debian]] 6.0 Squeeze) muss man in der <code>/etc/inittab</code> die Zeile <code>1:2345:respawn:/sbin/getty 38400 tty1</code> durch folgende Zeile ersetzen: |
| − | * [http://tldp.org/LDP/abs/html/timedate.html weitere Beispiele im Advanced Bash Scripting Guide].
| + | 1:2345:respawn:/sbin/rungetty --autologin namedesbenutzers tty1 |
| | | | |
| − | === Interaktion mit Desktop ===
| + | Nach dem Parameter <code>tty1</code> kann man noch ein Kommando angeben, das automatisch ausgeführt wird. Ein textbasierter Music-Client lässte sich daher durch Aufruf von <code>ncmpcpp</code> erstellen; bei Beenden des Programms wird es dann automatisch wieder gestartet. Dazu muss allerdings zuvor der [[MPD]]-Server installiert sein. |
| − | ==== Zwischenablage ====
| |
| | | | |
| − | * Mit [http://www.linux-community.de/Archiv/Tipp-der-Woche/Xclip-Zwischenablage-fuer-die-Konsole xclip] lässt sich der Inhalt der Shell-Pipe in die Zwischenablage kopieren. Der Inhalt steht dann beispielsweise in einer KDE- oder Gnome-Anwendung zur Verfügung.
| + | ==== AutoLogin unter Systemd ==== |
| | | | |
| − | ==== Nachricht an Desktop ==== | + | Siehe dazu http://noctus.net/2011/mingetty-und-systemd |
| | + | |
| | + | === Weiterführendes === |
| | | | |
| − | Mit
| + | * Die ct stellte [http://www.ct.de/1103122 Skripte für ein manipulationssicheres Linux] vor (c't 3/2011 S. 122ff.). |
| − | notify-send text
| |
| − | kann eine Nachricht (text) an den Desktop gesendet werden, die dem Benutzer angezeigt wird.<ref>https://linuxnetz.wordpress.com/2010/04/21/notify-send/</ref>
| |
| | | | |
| − | Dafür ist allerdings das Paket <code>libnotify-bin</code> zu installieren:
| + | * http://de.m.wikipedia.org/wiki/Unix-Kommandos#Benutzer-_und_Rechteverwaltung |
| − | sudo aptitude install libnotify-bin
| |
| | | | |
| − | ==== User-Dialog ==== | + | == Virtualisierung == |
| | | | |
| − | Unter [[Gnome]] lässt sich mit <code>zenity</code> von der [[Bash]] mit dem Nutzer in Dialog treten (Ja/Nein, User-Eingabezeile, ...).
| + | * [ftp://ftp.freiesmagazin.de/2009/freiesMagazin-2009-05.pdf freiesmagazin.de Mai 2009] zeigt, wie man einen virtuellen Rechner mittels KVM am Heimrechner einrichtet. |
| | + | * Open VirtualBox (von Oracle) wird z.B. bei Ubuntu mitgeliefert. |
| | | | |
| − | ==== Arbeitsflächen wechseln ====
| + | * [[Docker]] ist im Standardpaketumfang von [[Linux Mint]] enthalten. |
| | | | |
| − | Das Paket <code>wmctrl</code> erlaubt den Wechsel zwischen den Arbeitsflächen des Desktops:
| + | * LXC ist ebenfalls eine Container-Lösung |
| − | wmctrl -s arbeitsflächennummer
| |
| − | wobei arbeitsflächennummer die mit 0 beginnende Nummer des Desktops ist.<ref>http://www.linuxquestions.org/questions/linux-desktop-74/how-to-specify-a-gnome-workpace-an-application-will-launch-in-555764/</ref>
| |
| | | | |
| − | Das Paket <code>devilspie</code> erlaubt es, Programme nach bestimmten Kriterien auf andere Arbeitsflächen/Viewports zu verfrachten. Dazu muss beispielsweise für <code>xterm</code> folgende Datei <code>~/.devilspie/xterm.ds</code> (Die Endung <code>.ds</code> ist wichtig) erstellt werden:
| + | == Shells == |
| | | | |
| − | (if
| + | === Dokumentation für bash (Kommandozeile/Konsole) === |
| − | (is (application_name) "xterm")
| |
| − | (begin
| |
| − | (set_viewport 3)
| |
| − | )
| |
| − | )
| |
| | | | |
| − | Anschließend muss <code>devilspie</code> gestartet werden. Bei den folgenden Aufrufen von <code>xterm</code> wird das Fenster automatisch auf die Arbeitsfläche 3 landen.
| + | * [http://tldp.org/LDP/abs/html/index.html Advanced Bash Shell Scripting Guide] mit vielen Beispielen. |
| | + | * [http://mywiki.wooledge.org/BashPitfalls Häufige Fehler bei der Bash-Programmierung] |
| | + | * [http://linuxconfig.org/Bash_scripting_Tutorial Bash Tutorial] |
| | | | |
| − | Eine Möglichkeit, mittels wmctrl und bash-Script Compiz-Viewports zu kontrollieren, findet sich [http://www.linuxquestions.org/questions/programming-9/bash-script-for-automatic-viewport-changing-and-other-wm-stuff-works-with-compiz-838827/ hier] und [http://forum.ubuntuusers.de/topic/wuerfel-per-bash-drehen/#post-1206881 hier], letzteres basierend auf [http://sfyang-en.blogspot.com/2008/02/rotate-cube-in-compiz-with-wmctrl.html diesem Blog].
| + | === Tab-Completion === |
| | | | |
| − | == Dateiverwaltung ==
| + | Wenn man in der Bash die Tabulatortaste drückt, wird der gerade angefangene Befehl, der gerade angefangene Dateiname usw. vervollständigt bzw. bei zweimaligem Drücken weitere Vervollständigungen angeboten. |
| | | | |
| − | === Dateisuche ===
| + | Eine deutliche Erweiterung dieser Funktionalität auch für Optionen für verschiedene Kommandozeilentools bietet das Paket <code>bash-completion</code>: |
| − | Ein rekursives MS-DOS-<code>dir</code> lässt sich mit dem Befehl find erreichen:
| + | sudo aptitude install bash-completion |
| | | | |
| − | find / -name "*xy*"
| + | ==== Autovervollständigung für Rechnernamen ==== |
| − |
| + | Bei der Vervollständigung für Rechnernahmen, z.B. für den [[ssh]]-Befehl, schaut die Vervollständigung regelmäßig in die Datei <code>/etc/hosts</code>. |
| − | Es findet alle Dateien, die ein xy im Dateinamen enthalten und gibt den vollständigen Pfad aus. Die Anführungszeichen sind wichtig, ansonsten würde die Shell bereits die Sternchen auswerten.
| + | Möchte man weitere Rechnernamen aufnehmen, muss man die Umgebungsvariable $HOSTFILE auf eine Datei mit Rechnernamen setzen:<ref>Vgl. http://www.linux-magazine.com/Online/Features/Bash-Tips-Autocompletion .</ref> |
| | + | export HOSTFILE="/home/USER/myhostfile" |
| | + | Um dies bei jedem Start der Bash automatisch zu tun, fügt man diese Zeile am Ende der <code>.bashrc</code> im Homeverzeichnis des jeweiligen Benutzers ein. |
| | | | |
| − | === Berechtigungen ===
| |
| − | * '''Berechtigungen''' für automatisch eingebundene '''FAT32'''-Laufwerke/Festplatten werden in der Datei ''/etc/fstab'' vorgegeben. Sie können nicht mit ''chmod'' oder ''chown'' geändert werden.
| |
| − | * Informationen u.a. zum SUID-Bit und zum Abschalten auf ganzen Partitionen finden sich auf dem [http://www.informatikserver.at/selflinux/html/grundlagen_sicherheit07.html Informatikserver.at]
| |
| | | | |
| − | === Speicherplatz ===
| + | In der entsprechenden Datei (im Beispiel /home/USER/myhostfile) werden die Rechner Zeile für Zeile eingetragen: |
| − | * Den '''freien Platz auf der Festplatte''' erfährt man durch
| + | fritz.box |
| − | df -h | + | pia2016.de |
| − | * Den vom aktuellen Verzeichnis und seinen Unterverzeichnis '''belegten Platz''' erfährt man durch
| |
| − | du --human-readable --summarize | |
| | | | |
| − | === Mounten === | + | === Gefrorene Shell === |
| | | | |
| − | ==== Erkennen einer CD-ROM ====
| + | Mittels Strg-S kann man das Terminal anhalten (XOFF). Mittels Strg-Q geht es wieder weiter (XON). |
| | | | |
| − | Möglicherweise hilft bei Nichterkennung einer CD-ROM das [http://ignorantguru.github.io/udevil/ Einschalten des Kernel-Pollings (siehe unteren Teil der verlinkten Seite)].
| + | === Ablaufsteuerung === |
| | + | ==== if-Verzweigung ==== |
| | | | |
| − | ==== UUID ====
| + | Der Rückgabewert 0 einer Funktion oder eines Kommando wird als wahr gewertet. |
| | | | |
| − | Die UUIDs der Festplattenpartitionen lassen sich mit <code>sudo blkid</code> anzeigen.
| + | Damit gibt |
| − | In der <code>/etc/fstab</code> ersetzt man das übliche <code>/dev/sdXX</code> durch <code>UUID=12345678</code>.
| + | if true; then echo eins; else echo zwei; fi; |
| | + | "eins" aus. |
| | | | |
| − | ==== LABEL ====
| + | Die Negation erreicht man mit dem Operator <code>!</code>: |
| | + | if ! true; then echo eins; else echo zwei; fi; |
| | + | liefert "zwei". |
| | | | |
| − | Eine ext2/ext3/ext4-Partition lässt sich mit <code>sudo e2label</code> mit einem Label versehen.
| |
| − | In der <code>/etc/fstab</code> ersetzt man das übliche <code>/dev/sdXX</code> durch <code>LABEL=MyPart</code>.
| |
| | | | |
| − | ==== Dauerhaftes Mounten einer NTFS-Partition ==== | + | ==== while-Schleife ==== |
| | + | * Die bash-Shell bietet auch eine einfach zu nutzende While-Schleife. Beispiel: |
| | + | while true; do df -h; sleep 50s; echo `date`; done; |
| | + | * Das kann man auch mit einer Pipe kombinieren (diese Schleife konvertiert Musikdateien, die nur nach der Tracknummer benannt sind, in TrackNr.mp3 um): |
| | + | find /mnt/Daten/MusikSorted/ | grep ".*/[0-9][0-9]$" | (while read i; do mv "$i" "$i.mp3"; done; ) |
| | + | ==== Funktionen ==== |
| | + | * Funktionen in einem Shell-Script sind einfach definiert: |
| | + | function meineFunktion() { |
| | + | echo Hallo welt und $1; |
| | + | } |
| | + | # Aufruf: |
| | + | meineFunktion Tina |
| | + | # Ausgabe: Hallo welt und Tina |
| | | | |
| − | Um eine NTFS-Partition (z.B. auf /dev/sda2) dauerhaft (also schon beim Booten) zu mounten, fügt man in die Datei <code>/etc/fstab</code> folgende Zeile hinzu:
| + | === Variablen === |
| − | /dev/sda2 /mnt/winC ntfs defaults,umask=011,uid=BENUTZER,gid=BENUTZERGRUPPE 0 0 | + | * Array-Variablen können z.B. folgendermaßen Werte zugewiesen werden: |
| − | wobei BENUTZER und BENUTZERGRUPPE durch die entsprechenden Benutzernamen bzw. Gruppennammen zu ersetzen sind.
| + | meinArray=(eins zwei drei vier) |
| | | | |
| − | Außerdem muss der Mount-Point erzeugt werden:
| + | * Ein komisches Verhalten zieht <code>declare</code> innerhalb einer Funktion bei: Es begrenzt die Sichtbarkeit der Variablen auf den Funktionsbereich. Wenn globale Variablen zum Informationsaustausch zwischen Funktion und aufrufendem Skript genutzt werden sollen, sollte declare in der Funktion also besser nicht genutzt werden. |
| − | mkdir /mnt/winC
| |
| | | | |
| − | Damit werden können aber alle Benutzer alle Daten dieses Laufwerks lesen und schreiben. Will man dies nicht, muss man mit den Optionen <code>uid=</code>, <code>gid=</code> und <code>umask=</code> eine Lösung finden.
| + | === Parameteroptionen verarbeiten === |
| | | | |
| − | Unter [[Debian]] ist für den Schreibzugriff auf [[NTFS]] die Installation des Pakets <code>ntfs-3g</code> notwendig:
| + | [http://www.mkssoftware.com/docs/man1/getopts.1.asp getopts], ein in der Bash enthaltenes Kommando, hilft Kommandozeilenoptionen zu verarbeiten. |
| − | aptitude install ntfs-3g
| |
| | | | |
| | + | Siehe auch |
| | + | * https://www.redhat.com/en/blog/arguments-options-bash-scripts |
| | | | |
| − | ===== Korrupte NTFS-Partition ===== | + | === Exit-Status === |
| | | | |
| | Mit | | Mit |
| − | sudo ntfsfix /dev/sdb1 | + | echo $? |
| − | kann die NTFS-Partition auf /dev/sdb1 repariert werden.<ref>http://askubuntu.com/questions/74105/how-do-you-repair-an-input-output-error-in-an-ntfs-partition</ref>
| + | wird der Rückgabewert des unmittelbar davor ausgeführten Shell-Kommandos/Skripts ausgegeben. |
| | | | |
| − | ==== USB-Datenträger unter Systemd ==== | + | Das kann z.B. für einen Abbruch genutzt werden: |
| − | | + | do_something; |
| − | Wenn man eine USB-Disk nur manchmal beim Start eingesteckt hat, sie in dem Fall aber automatisch mounten will, helfen möglicherweise die <code>/etc/fstab</code>-Optionen <code>nofail,nobootwait</code>.<ref>Siehe http://www.reddit.com/r/archlinux/comments/1lafu2/fstab_how_to_automount_but_ignore_if_its_not/ , https://bbs.archlinux.org/viewtopic.php?id=147478</ref>
| + | exit_status=$?; |
| | + | if (($exit_status)); then |
| | + | echo do_something failed.; |
| | + | exit $exit_status; |
| | + | fi; |
| | | | |
| − | Unter Systemd kann man auch die Optionenkombination <code>noauto,x-systemd.automount</code> in <code>/etc/fstab</code> verwenden. Dann wird die entsprechende Platte erst dann gemountet, wenn auf den Mountpunkt zugegriffen wird.<ref>Vgl. https://bbs.archlinux.org/viewtopic.php?id=147478</ref>
| + | Die Kurzform für die ersten drei Zeilen wäre: |
| | + | if do_something; then |
| | + | |
| | + | === Debugging === |
| | | | |
| − | Siehe
| + | Mit |
| − | * http://www.wrigley.me.uk/wp/2012/12/03/automounting-usb-disk-on-boot-with-systemd-in-fedora/
| + | set -x |
| − | * https://bbs.archlinux.org/viewtopic.php?id=147478
| + | wird Tracing eingeschaltet: Jeder Script-Befehl wird vor der Ausführung auf der Konsole ausgegeben. |
| | | | |
| − | ==== Mounten eines CD-Images ====
| + | Mit |
| − | Um ein '''CD-Image zu betrachten''' kann man dieses folgendermaßen ins normale Dateisystem einhängen:
| + | set -e |
| − | mkdir zielpunkt
| + | wird grundsätzlich das Script bei einem erfolglosen Befehl abgebrochen. |
| − | sudo mount -o loop -t iso9660 /pfad/zum/iso.image zielpunkt
| |
| − |
| |
| − | Am Ende lässt es sich ganz normal mit
| |
| − |
| |
| − | umount /zielpunkt
| |
| | | | |
| − | aushängen
| + | === Unit Tests === |
| | | | |
| − | ==== Mounten eines FTP-Verzeichnisses ====
| + | [https://github.com/pgrange/bash_unit Bash_unit] ist ein Paket zum Erstellen von Unit-Tests für Bash. |
| | | | |
| − | * Zum Mounten eines FTP-Verzeichnisses hilft [http://blog.bumsdiekuh.net/archives/84-FTP-Server-ganz-einfach-mounten-mit-curlftpfs.html angeblich] curlftpfs ([http://www.exanto.de/sftp-und-ftp-unter-linux-mounten.html ausführlichere Anleitung]). | + | === Verarbeiten von Textstreams === |
| − | * Eine andere Möglichkeit scheint [http://wiki.ubuntuusers.de/Lufs Lufs] zu bieten. | + | |
| | + | * Sinnvolle Hilfen zum Verarbeiten von Textstreams/Auslesen von Dateien |
| | + | ** [[wc]] zählt Worte und Zeilen |
| | + | ** [[cut]] liefert bestimmte Teile einer Zeile |
| | + | ** [[grep]] sucht nach Textbestandteilen |
| | + | ** [[sed]] hilft beim Editieren einer Datei auf der Kommandozeile bzw. in Shell-Skripten, siehe z.B. der [http://www.freiesmagazin.de/ftp/2010/freiesMagazin-2010-03.pdf Artikel zu sed im "freien Magazin"]. |
| | + | ** [[printf]] ermöglicht wie in der Programmiersprache C das formatierte Ausgeben von Zahlen und Zeichen |
| | + | printf '%s mit führenden Nullen: %05d' Zahl 76 |
| | | | |
| − | ==== Mounten eines ZIP-Archivs ====
| + | Falls die Standardausgabe zu viel gepuffert wird kann man dies durch das Kommando <code>stdbuf -oL</code> in Zeilenpufferung ändern.<ref>Vgl. https://www.turnkeylinux.org/blog/unix-buffering .</ref> |
| | | | |
| − | * [http://freshmeat.net/projects/fuse-zip fuse-zip(Freshmeat)], [http://linux.softpedia.com/get/System/Filesystems/fuse-zip-40109.shtml fuse-zip (Softpedia)], [http://code.google.com/p/fuse-zip/ fuse-zip (Google Code)]
| + | ==== Piping ==== |
| − | * [http://www.inf.bme.hu/~mszeredi/avfs/ AVFS]
| |
| | | | |
| − | ==== Mounten via SSH ====
| |
| | | | |
| − | * Übers Netzwerk kann man auch per [http://apps.sourceforge.net/mediawiki/fuse/index.php?title=Main_Page SSH-FUSE-Dateisystem] auf einen entfernten Rechner zugreifen. Das ist ein recht sicherer Zugriff, aber auch transparent, da die Dateien ins lokale Verzeichnis eingehängt (gemountet) werden können.
| + | Linux kennt zwei Standard-Ausgabe-Streams, stdout und stderr. |
| | | | |
| − | ==== Mounten von NFS ====
| + | Die für stderr bestimmten Ausgaben können mit dem Operator "2>" in eine Datei umgeleitet werden. |
| | + | Beispiel: |
| | + | find / -name '*.mp3' 2> /dev/null |
| | | | |
| − | Eine [[NFS]]-Freigabe (siehe /etc/exports auf dem Host) kann folgendermaßen gemountet werden:
| + | * [http://www.easylinux.de/2005/09/084-umleitungen/ Einführung in Pipes] |
| − | sudo mount 192.168.0.5:/srv/nfs/myhome /mnt/nfshome
| |
| | | | |
| − | ==== Mounten eines WebDAV-Verzeichnisses ==== | + | ==== heredoc ==== |
| | | | |
| − | * [[WebDAV]]-Verzeichnisse können auch dauerhaft gemountet werden, siehe [http://www.arvid-geiger.de/index.php?category_id=40&wikipage=WebDav hier].
| + | Man kann auch kleine Textschnipsel in ein Skript selbst schreiben und dann weiterleiten: |
| | | | |
| − | Um als normaler User WebDAV-Verzeichnisse einzuhängen benötigt die <code>/etc/fstab</code> etwa folgende Zeile (Beispiel für T-Online Mediencenter und Benutzer USER):
| + | cat <<EOF |
| − |
| + | Dies ist ein Text, der |
| − | https://webdav.mediencenter.t-online.de/ /home/USER/t-online davfs noauto,user,rw 0 0 | + | an cat weitergegeben wird. |
| | + | EOF |
| | | | |
| − | Zusätzlich muss der Mountpunkt noch angelegt werden:
| + | Statt EOF kann in den so genannten "heredocs" auch irgendein anderes Wort |
| − | mkdir ~/t-online
| + | zur Bezeichnung des Endes des heredocs geschrieben werden. Es muss nur |
| | + | das Gleiche am Anfang und am Ende sein. |
| | | | |
| − | Davfs2 muss installiert werden und normalen Nutzern das Mounten erlaubt werden
| + | ==== sed ==== |
| − | sudo aptitude install davfs2
| + | Beispiel für sed für die Umwandlung in eine Playlist: |
| − | sudo dpkg-reconfigure davfs2 # Frage nach setuid mit "Ja" beantworten | + | sed -e 's/..\/Musik\/Music/dhMusic/' -e 's/\/[0-9][0-9] /\//' <playlistOriginal.m3u > playListNeu.m3u |
| | + | In der neuen Playlist |
| | + | * ist der Pfadanfang geändert von ../Musik/Musik nach dhMusic und |
| | + | * sind die Trackziffern inklusive des Leerzeichens weggelassen. |
| | | | |
| − | Der Benutzer muss noch der Gruppe <code>davfs2</code> hinzugefügt werden:
| + | Etwas komplizierter |
| − | sudo addgroup USER davfs2
| + | sed -e 's:\\:/:g' -e 's:../Musik/Music/\(.\):sortedMusic/\1/\1:' -e 's:/\([0-9][0-9]\) :/\1_-_:' -e 's/ /_/g' < playlistOriginal.m3u > playListNeu.m3u |
| | | | |
| − | Zur Vermeidung der Passwortabfrage sollte noch die Datei <code>/home/USER/.davfs2/secrets</code> mit folgendem Inhalt angelegt werden:<ref>http://tomalison.com/reference/2010/04/03/webdav/</ref>
| + | * Zunächst wird der Backslash durch den Slash ersetzt. |
| − | /home/USER/t-online xy@t-online.de password
| + | * Dann der Pfadanfang geändert |
| | + | * Außerdem wird die Pfadstruktur um eine Ebene erweitert: Den Anfangsbuchstaben des Interpreten |
| | + | * Zwischen die Trackziffern und den Namen des Lieds werden noch ein Trennstrich mit zwei Leerzeichen eingefügt. |
| | + | * Schließlich werden alle Leerzeichen durch einen Unterstrich ersetzt. |
| | | | |
| − | Die Datei sollte nur von USER einsehbar sein:
| + | Mit dem Modifizierer <code>-i</code> (oder <code>--in-place</code>) kann eine Datei geändert werden, die zugleich als Eingabestream fungiert. |
| − | chmod 600 /home/USER/.davfs2/secrets
| |
| | | | |
| − | Dann kann das WebDAV-Verzeichnis gemountet werden:
| + | === Datum === |
| − | mount /home/USER/t-online
| |
| | | | |
| − | Ein <code>auto</code>-Einbinden in der <code>/etc/fstab</code> funktioniert nicht ohne Weiteres. Möglicherweise hilft die zusätzliche Option <code>_netdev</code>, um das Einbinden bis zum Etablieren des Netzwerks zurückzustellen.<ref>Vgl. http://askubuntu.com/questions/277873/mount-webdav-fails-on-reboot</ref>
| + | date |
| | + | zeigt das aktuelle Datum an. |
| | + | date +%s |
| | + | zeigt die seit 1970 vergangenen Sekunden an. |
| | + | date -d "2100-1-1 -1 day" |
| | + | zeigt den letzten Tag des 21. Jahrhunderts (31.12.2099) an. |
| | | | |
| | + | Siehe |
| | + | * [http://tldp.org/LDP/abs/html/timedate.html weitere Beispiele im Advanced Bash Scripting Guide]. |
| | | | |
| − | Siehe auch [http://skripta.de/Davfs2.html diese Anleitung zum Mounten des Telekom Mediencenters].
| + | === Interaktion mit Desktop === |
| | + | ==== Zwischenablage ==== |
| | | | |
| − | ==== Mounten einer Windows-Freigabe/Samba-Share ====
| + | * Mit [http://www.linux-community.de/Archiv/Tipp-der-Woche/Xclip-Zwischenablage-fuer-die-Konsole xclip] lässt sich der Inhalt der Shell-Pipe in die Zwischenablage kopieren. Der Inhalt steht dann beispielsweise in einer KDE- oder Gnome-Anwendung zur Verfügung. |
| | | | |
| − | * Um die [[Samba]]-Server im Netzwerk anzuzeigen, bitte
| + | ==== Nachricht an Desktop ==== |
| − | nmbstatus
| |
| − | eingeben.<ref>Vgl. http://de.opensuse.org/SDB:Drucken_via_SMB_(Samba)_Share_bzw._Windows_Freigabe.</ref>
| |
| | | | |
| − | * Um die von einem Samba-Server (z.B. Windows-Rechner) freigegebenen Ressourcen anzusehen, bitte
| + | Mit |
| − | smbclient -L sambaserver | + | notify-send text |
| − | eingeben, wobei <code>sambaserver</code> der Name des Samba-Servers ist.<ref>http://www.tldp.org/HOWTO/SMB-HOWTO-8.html.</ref>
| + | kann eine Nachricht (text) an den Desktop gesendet werden, die dem Benutzer angezeigt wird.<ref>https://linuxnetz.wordpress.com/2010/04/21/notify-send/</ref> |
| | | | |
| − | * Mit Konqueror lässt sich graphisch durch die Samba-Freigaben browsen: Einfach <code>smb:/</code> in die Adresszeile eingeben.
| + | Dafür ist allerdings das Paket <code>libnotify-bin</code> zu installieren: |
| | + | sudo aptitude install libnotify-bin |
| | | | |
| − | * Samba-Mounts lassen sich in der /etc/fstab auch [http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanently.html permanent einrichten].
| + | ==== User-Dialog ==== |
| − | ** Siehe für die Freigabe einer [[Samba]]-Share und deren Mounten z.B. [http://forum.geizhals.at/t369562,2885141.html#2885141 hier] oder [http://de.opensuse.org/SDB:Auf_Windows-Freigaben_zugreifen hier (OpenSuse 8.1)].
| + | |
| − | ** Auch [http://www.wiki.csoft.at/index.php/Netzwerklaufwerk_mit_Linux_hinzuf%C3%BCgen hier] gibt es ein Beispiel zum Mounten einer [[Windows-Freigabe]].
| + | Unter [[Gnome]] lässt sich mit <code>zenity</code> von der [[Bash]] mit dem Nutzer in Dialog treten (Ja/Nein, User-Eingabezeile, ...). |
| | | | |
| | + | ==== Arbeitsflächen wechseln ==== |
| | | | |
| − | ==== Mounten eines Loop-Devices ====
| + | Das Paket <code>wmctrl</code> erlaubt den Wechsel zwischen den Arbeitsflächen des Desktops: |
| | + | wmctrl -s arbeitsflächennummer |
| | + | wobei arbeitsflächennummer die mit 0 beginnende Nummer des Desktops ist.<ref>http://www.linuxquestions.org/questions/linux-desktop-74/how-to-specify-a-gnome-workpace-an-application-will-launch-in-555764/</ref> |
| | | | |
| − | Das Mounten eines Loop-Devices geht wie das Mounten eines normalen Block-Devices. Bei den Optionen in der /etc/fstab steht zusätzlich <code>loop</code>. | + | Das Paket <code>devilspie</code> erlaubt es, Programme nach bestimmten Kriterien auf andere Arbeitsflächen/Viewports zu verfrachten. Dazu muss beispielsweise für <code>xterm</code> folgende Datei <code>~/.devilspie/xterm.ds</code> (Die Endung <code>.ds</code> ist wichtig) erstellt werden: |
| | | | |
| − | Siehe
| + | (if |
| − | * http://www.volkerschatz.com/unix/advmount.html
| + | (is (application_name) "xterm") |
| | + | (begin |
| | + | (set_viewport 3) |
| | + | ) |
| | + | ) |
| | | | |
| − | ==== Mounten eines Sandwich-Dateisystems ====
| + | Anschließend muss <code>devilspie</code> gestartet werden. Bei den folgenden Aufrufen von <code>xterm</code> wird das Fenster automatisch auf die Arbeitsfläche 3 landen. |
| | | | |
| − | Das '''UnionFS''' und das '''AUFS''' wird in moderneren [[Linux]]-Distributionen von '''OverlayFS''' abgelöst.
| + | Eine Möglichkeit, mittels wmctrl und bash-Script Compiz-Viewports zu kontrollieren, findet sich [http://www.linuxquestions.org/questions/programming-9/bash-script-for-automatic-viewport-changing-and-other-wm-stuff-works-with-compiz-838827/ hier] und [http://forum.ubuntuusers.de/topic/wuerfel-per-bash-drehen/#post-1206881 hier], letzteres basierend auf [http://sfyang-en.blogspot.com/2008/02/rotate-cube-in-compiz-with-wmctrl.html diesem Blog]. |
| | | | |
| − | Beispiel: Der Inhalt des Verzeichnisses <code>lower</code> sollte im Verzeichnis <code>together</code> erscheinen, soweit er nicht vom Inhalt von <code>upper</code> verdrängt wird:
| + | ==== Terminalfenstertitel ==== |
| − | sudo mount -t overlayfs -o lowerdir=lower,upperdir=upper overlayfs together | + | |
| − | Ist <code>upper</code> beim Einhängen leer, sieht man alle Änderungen im Verzeichnis <code>together</code> in <code>upper</code>. <code>lower</code> ändert sich nicht.
| + | Der Terminaltitel lässt sich mit einer Escape-Sequenz setzen: |
| | + | echo -ne "\033]0;SOME TITLE HERE\007" |
| | + | Achtung: Das funktioniert bei mir aber nur innerhalb eines Shell-Skripts! |
| | + | |
| | + | Im Normalfall bringt das aber nichts, wenn der Prompt wieder angezeigt wird, der normalerweise eine Escape-Sequenz zum Ändern des Terminaltitels beinhaltet. Daher sollte man diesen zurücksetzen: |
| | + | PS1="\u@\h:\w\$ " |
| | | | |
| | Siehe | | Siehe |
| − | * [http://askubuntu.com/questions/109413/how-do-i-use-overlayfs Kurzanleitung für OverlayFS] | + | * http://askubuntu.com/questions/22413/how-to-change-gnome-terminal-title |
| − | * [https://git.kernel.org/cgit/linux/kernel/git/mszeredi/vfs.git/tree/Documentation/filesystems/overlayfs.txt?h=overlayfs.current OverlayFS-Technik]
| |
| | | | |
| | + | ==== Interaktion der Shell mit Maus ==== |
| | | | |
| − | Ähnliche Funktionalität wie OverlayFS scheint '''Ovl.o''' zu bringen:
| + | Siehe |
| − | * [http://home.comcast.net/~artn/ovlfs/ovl.man.txt Manpage für ovl.o] | + | * https://unix.stackexchange.com/questions/106736/detect-if-mouse-button-is-pressed-then-invoke-a-script-or-command |
| | + | * http://positon.org/listen-to-mouse-events-in-linux-text-mode |
| | + | * http://bamboofields.net/Bash%20-%20Linux%20raw%20mouse%20events%20bash%20click |
| | + | * [https://stackoverflow.com/questions/8361263/detect-mouse-click-in-bash-script xdotool in an X-Environment] |
| | + | * https://ubuntuforums.org/showthread.php?t=1017150 |
| | | | |
| | + | == Dateiverwaltung == |
| | | | |
| − | ==== weitere Infoquelle für mount ==== | + | === Dateisuche === |
| | | | |
| − | Siehe
| + | ==== Suchen auch in Unterordnern ==== |
| − | * [http://pclosmag.com/html/issues/200709/page07.html Beschreibung von Mount-Optionen].
| + | Ein rekursives MS-DOS-<code>dir</code> lässt sich mit dem Befehl find erreichen: |
| | | | |
| − | === Kopieren einer Audio-CD ===
| + | find / -name "*xy*" |
| | + | |
| | + | Es findet alle Dateien, die ein xy im Dateinamen enthalten und gibt den vollständigen Pfad aus. Die Anführungszeichen sind wichtig, ansonsten würde die Shell bereits die Sternchen auswerten. |
| | | | |
| − | Angeblich funktioniert [[dd]] nicht mit Audio-CDs.
| + | ==== Suchen nach Dateinamen und Wörtern im Dateiinhalt ==== |
| | | | |
| − | Das einfachste Kommando zum Kopieren einer CD ist<ref>Siehe http://www.togaware.com/linux/survivor/Duplicate_Audio.html</ref>
| + | Will man an Hand des Dateinamens eine Vorauswahl der Dateien treffen, deren Inhalt auf ein bestimmtes Wort untersucht wird, kann man <code>find</code> und <code>grep</code> kombinieren: |
| − | cdrdao copy
| |
| | | | |
| − | Um trotzdem von der Kommandozeile (und nicht z.B. mit den grafischen Tools Brasero oder K3b) eine Audio-CD kopieren nutzt man <code>cdrdao</code>:
| + | find . -name package.json -print0 | xargs -0 grep mylib |
| | | | |
| − | cdrdao read-cd --device /dev/cdrom --read-raw --datafile INHALT.bin VERZEICHNIS.toc # Kopiert CD-Inhalt und -Verzeichnis auf die Festplatte
| + | Dieser Befehl sucht im aktuellen Verzeichnis und dessen Unterverzeichnissen nach Dateien mit dem Namen package.json. In diesen sucht es nach der Zeichenfolge "mylib". |
| − | cdrdao write-cd --device /dev/cdrom VERZEICHNIS.toc # Kopiert CD-Inhalt auf neue Audio-CD
| |
| | | | |
| − | Falls man beim Lesen Probleme bekommt und cdrdao an einer bestimmten Stelle hängen bleibt, sollte man den Paranoia-Mode reduzieren:
| + | === Berechtigungen === |
| − | cdrdao read-cd --device /dev/cdrom ''--paranoia-mode 0'' --read-raw --datafile INHALT.bin VERZEICHNIS.toc
| + | * '''Berechtigungen''' für automatisch eingebundene '''FAT32'''-Laufwerke/Festplatten werden in der Datei ''/etc/fstab'' vorgegeben. Sie können nicht mit ''chmod'' oder ''chown'' geändert werden. |
| | + | * Informationen u.a. zum SUID-Bit und zum Abschalten auf ganzen Partitionen finden sich auf |
| | + | ** dem [http://www.informatikserver.at/selflinux/html/grundlagen_sicherheit07.html Informatikserver.at] |
| | + | ** https://www.informatik-aktuell.de/betrieb/betriebssysteme/rechte-im-dateisystem-mehr-als-nur-rwx.html |
| | | | |
| − | === Backup ===
| + | Mit |
| − | * [http://blog.beimax.de/2008/10/27/tagliches-inkrementelles-backup-mit-cron-und-tar-unter-linux/ Inkrementelles Backup mit cron und tar]
| + | namei -om PATH |
| − | * [http://de.wikibooks.org/wiki/Linux-Kompendium:_Backups Linux-Kompendium: Backups]
| + | können die einzelnen Berechtigungen eines Pfades PATH angezeigt werden. |
| − | * Siehe auch [[Programmierprojekte#P2P-Backup]]
| |
| − | * [http://wiki.ubuntuusers.de/dirvish Dirvish] ist eine recht simple Commandline-Lösung, die auf [[rsync]] und [[ssh]] basiert.
| |
| − | ** [http://wiki.edseek.com/howto:dirvish Dirvish-HOWTO]
| |
| − | * [http://www.amanda.org/ Amanda] ist eine Open-Source-Lösung zum Backup mehrerer Clients (auch Windows) auf einem zentralen Server
| |
| − | * [http://www.getdropbox.com/pricing dropbox] bietet 2 GB - Webspeicherplatz zum Synchronisieren mehrerer Computer, aber auch als Webbackup nutzbar. Es gibt auch ein [https://www.dropbox.com/help/246/en Ubuntu-Repository für Dropbox].
| |
| | | | |
| | + | ==== SUID ==== |
| | + | Mit Setzen des SUID-Bits für ein binäres Programm (also keinem Shell-Skript) mit |
| | + | chmod u+s PROGRAMM |
| | + | wird der Benutzer, der das Programm aufrufen darf (z.B. Ausführungs-Bit "x" bei der einschlägigen Gruppe gesetzt), das Programm unter dem Benutzer, der Eigentümer des Programms ist, ausführen. |
| | | | |
| − | Open-Source Backup Produkte:
| + | ==== SGID ==== |
| − | * [http://backuppc.sourceforge.net/info.html BackupPC] (serverseitige Lösung zum Backup vieler Clients, geschrieben in Perl, mit Web-Interface zur Administration)
| + | Mit Setzen des SGID-Bits für ein Verzeichnis erben neu angelegte Dokumente/Verzeichnisse in diesem Verzeichnis dessen Gruppe als Gruppenzugehörigkeit. |
| − | * [http://www.amanda.org/ Amanda]
| |
| − | * [http://www.nongnu.org/storebackup/de/node14.html storebackup]
| |
| | | | |
| − | Linux-Bordmittel: <code>dump</code>, <code>tar</code>, <code>smbtar</code>, [http://www.orgapage.net/pages/server/linux/backup.php?OP_SITE=c2c6a3e534e145bb4b8df1f629e0d380 rsync], [http://www.bsi-fuer-buerger.de/daten/03080801.htm Tipps vom BSI], [http://www.linux-backup.net/ linux-backup.net]
| + | ==== umask ==== |
| | | | |
| − | [http://linuxwiki.de/rsync/SnapshotBackups Umfangreiche Anleitung zu inkrementellem Backup] mit Hilfe von <code>rsync</code>
| + | In den Konfigurationsdateien <code>/etc/profile</code>, <code>~/.profile</code> (z.B. umask 027) oder <code>/etc/login.defs</code> (z.B. UMASK 027), je nach Linux-Ausgabe, kann zentral die Standard-Umask vorgegeben werden. Damit kann insbesondere standardmäßig vorgegeben werden, dass die erzeugten Dokumente nicht world-readable sind (umask 007). |
| | | | |
| − | * Andere Hilfsmittel: <code>[[unison]]</code>
| + | Angeblich<ref> Vgl. https://forum.chip.de/discussion/1838389/default-umask</ref> kann man auch user-spezifisch die Default-Umask setzen: Siehe dazu /etc/default/useradd oder /etc/adduser.conf |
| − |
| |
| − | * [[MediaWiki]]: [http://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki Anleitung zum Backup eines MediaWiki-Systems]
| |
| | | | |
| − | === Festplatten in Ruhezustand versetzen === | + | === Speicherplatz === |
| | + | * Den '''freien Platz auf der Festplatte''' erfährt man durch |
| | + | df -h |
| | + | * Den vom aktuellen Verzeichnis und seinen Unterverzeichnis '''belegten Platz''' erfährt man durch |
| | + | du --human-readable --summarize |
| | + | * Um zu sehen, welcher Platz von den einzelnen Dateien bzw. Verzeichnisse des Arbeitsverzeichnisses eingenommen wird, hilft das Tool [[xargs]]. Z.B. um alle Dateien/Verzeichnisse im Gigabyte-Bereich zu finden: |
| | + | ls --almost-all -1 | xargs -n1 -d '\n' du -h --summarize | sed -n -e '/[[:digit:]]G\s/p' |
| | | | |
| − | Mittels
| + | === Mounten === |
| − | hdparm -S 30 /dev/sdc
| |
| − | lässt sich eine Festplatte nach 30*5=150 Sekunden in den Ruhezustand versetzen.
| |
| | | | |
| − | Über die <code>/etc/hdparm.conf</code> lässt sich [https://linuxundich.de/hardware/festplatten-automatisch-im-betrieb-in-den-standby-schalten/ das auch automatisch einrichten].
| + | ==== Erkennen einer CD-ROM ==== |
| | | | |
| − | === Festplattenfehler ===
| + | Möglicherweise hilft bei Nichterkennung einer CD-ROM das [http://ignorantguru.github.io/udevil/ Einschalten des Kernel-Pollings (siehe unteren Teil der verlinkten Seite)]. |
| | | | |
| − | Festplattenfehler lassen sich u.a. mit
| + | ==== UUID ==== |
| − | * smartmontools
| |
| − | * badblocks
| |
| − | * e2fsck
| |
| − | * dd_rescue
| |
| − | * debugfs
| |
| − | finden.
| |
| | | | |
| − | Z.B. kann man ein fehlerhaftes EXT2/EXT3/EXT4-Dateisystem mit folgendem Befehl (interaktiv) reparieren lassen:
| + | Die UUIDs der Festplattenpartitionen lassen sich mit <code>sudo blkid</code> anzeigen. |
| − | sudo e2fsck /dev/sda5
| + | In der <code>/etc/fstab</code> ersetzt man das übliche <code>/dev/sdXX</code> durch <code>UUID=12345678</code>. |
| | | | |
| − | Siehe
| + | ==== LABEL ==== |
| − | * http://www.technologyblog.de/2014/06/defekte-sektoren-reparieren-unter-linux-mit-badblocks/
| |
| − | * http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2010/08/Integritaet-gespeicherter-Daten-sicherstellen
| |
| | | | |
| − | === Verschlüsselung === | + | Eine ext2/ext3/ext4-Partition lässt sich mit <code>sudo e2label</code> mit einem Label versehen. |
| | + | In der <code>/etc/fstab</code> ersetzt man das übliche <code>/dev/sdXX</code> durch <code>LABEL=MyPart</code>. |
| | | | |
| − | * Siehe auch [[Verschlüsselung]]
| + | ==== Dauerhaftes Mounten einer NTFS-Partition ==== |
| | | | |
| − | ==== Dateien verschlüsseln ====
| + | Um eine NTFS-Partition (z.B. auf /dev/sda2) dauerhaft (also schon beim Booten) zu mounten, fügt man in die Datei <code>/etc/fstab</code> folgende Zeile hinzu: |
| − | * Mit <code>gpg</code> lassen sich unter Linux [http://www.cs.arizona.edu/computing/utilities/linux-encryption.html#gpg einzelne Dateien verschlüsseln].
| + | /dev/sda2 /mnt/winC ntfs defaults,umask=011,uid=BENUTZER,gid=BENUTZERGRUPPE 0 0 |
| − | * Automatisch für ganze Verzeichnisse geht das mit [[EncFS]]
| + | wobei BENUTZER und BENUTZERGRUPPE durch die entsprechenden Benutzernamen bzw. Gruppennammen zu ersetzen sind. |
| | | | |
| − | ==== Dateisysteme verschlüsseln ====
| + | Außerdem muss der Mount-Point erzeugt werden: |
| | + | mkdir /mnt/winC |
| | | | |
| − | * [http://www.linux-magazin.de/Ausgaben/2006/10/Loechriger-Kaese älterer Überblick über Datei-Verschlüsselungen unter Linux]
| + | Damit werden können aber alle Benutzer alle Daten dieses Laufwerks lesen und schreiben. Will man dies nicht, muss man mit den Optionen <code>uid=</code>, <code>gid=</code> und <code>umask=</code> eine Lösung finden. |
| | | | |
| − | ==== SSL ====
| + | Unter [[Debian]] ist für den Schreibzugriff auf [[NTFS]] die Installation des Pakets <code>ntfs-3g</code> notwendig: |
| − | [[SSL]]-Zertifikate kopiert man unter [[Ubuntu]] ins Verzeichnis <code>/usr/share/ca-certificates</code> und macht sie dem System so bekannt: | + | aptitude install ntfs-3g |
| − | sudo dpkg-reconfigure ca-certificates | |
| | | | |
| − | Siehe auch [[SSL]]
| |
| | | | |
| − | ==== Leere Verzeichnisse löschen ==== | + | ===== Korrupte NTFS-Partition ===== |
| | | | |
| − | Mit folgendem Befehl werden alle leeren Unterverzeichnisse gelöscht:<ref>http://www.unixboard.de/vb3/showthread.php?28301-leere-Verzeichnisse-finden</ref> | + | Mit |
| | + | sudo ntfsfix /dev/sdb1 |
| | + | kann die NTFS-Partition auf /dev/sdb1 repariert werden.<ref>http://askubuntu.com/questions/74105/how-do-you-repair-an-input-output-error-in-an-ntfs-partition</ref> |
| | | | |
| − | find -depth -type d -empty -exec rmdir "{}" \;
| + | ==== USB-Datenträger unter Systemd ==== |
| | | | |
| − | === Dateien im Netzwerk === | + | Wenn man eine USB-Disk nur manchmal beim Start eingesteckt hat, sie in dem Fall aber automatisch mounten will, helfen möglicherweise die <code>/etc/fstab</code>-Optionen <code>nofail,nobootwait</code>.<ref>Siehe http://www.reddit.com/r/archlinux/comments/1lafu2/fstab_how_to_automount_but_ignore_if_its_not/ , https://bbs.archlinux.org/viewtopic.php?id=147478</ref> |
| | | | |
| − | Siehe
| + | Unter Systemd kann man auch die Optionenkombination <code>noauto,x-systemd.automount</code> in <code>/etc/fstab</code> verwenden. Dann wird die entsprechende Platte erst dann gemountet, wenn auf den Mountpunkt zugegriffen wird.<ref>Vgl. https://bbs.archlinux.org/viewtopic.php?id=147478</ref> |
| − | * [[NFS]]
| |
| − | * [[Samba]]
| |
| − | * [http://www.openafs.org/ OpenAFS]
| |
| − | * [[WebDAV]]
| |
| − | * [[SSH]] mit sshfs
| |
| | | | |
| − | == Netzwerk ==
| + | Siehe |
| − | Siehe [[oldCt:Linux-Tipps#Netzwerk]]
| + | * http://www.wrigley.me.uk/wp/2012/12/03/automounting-usb-disk-on-boot-with-systemd-in-fedora/ |
| − | * Siehe [[Samba]]
| + | * https://bbs.archlinux.org/viewtopic.php?id=147478 |
| − | * Siehe zudem [[Installation von OpenSuse über PXE]]
| |
| − | * Siehe [[Bluetooth-Tipps]]
| |
| − | * Siehe [[Sony VAIO PCG-Z600RE]]
| |
| − | * Siehe auch [[#Mounten eines FTP-Verzeichnisses]]. | |
| | | | |
| − | === Allgemeines === | + | ==== Mounten eines CD-Images ==== |
| | + | Um ein '''CD-Image zu betrachten''' kann man dieses folgendermaßen ins normale Dateisystem einhängen: |
| | + | mkdir zielpunkt |
| | + | sudo mount -o loop -t iso9660 /pfad/zum/iso.image zielpunkt |
| | + | |
| | + | Am Ende lässt es sich ganz normal mit |
| | + | |
| | + | umount /zielpunkt |
| | | | |
| − | In <code>/etc/network/interfaces</code> kann man manuelle Einstellungen für das Netzwerk vornehmen. Siehe [http://wiki.ubuntuusers.de/interfaces diese Anleitung] für [[Ubuntu]]. Dann kann man aber für das betreffende Interface den NetworkManager nicht mehr verwenden.
| + | aushängen |
| | | | |
| − | === Network-Manager === | + | ==== Mounten eines FTP-Verzeichnisses ==== |
| − | In Desktop-Distributionen ist üblicherweise der "Network-Manager" installiert. Er lässt sich auch auf der Kommandozeile nutzen:
| |
| | | | |
| − | sudo aptitude install Network-Manager
| + | * Zum Mounten eines FTP-Verzeichnisses hilft [http://blog.bumsdiekuh.net/archives/84-FTP-Server-ganz-einfach-mounten-mit-curlftpfs.html angeblich] curlftpfs ([http://www.exanto.de/sftp-und-ftp-unter-linux-mounten.html ausführlichere Anleitung]). |
| | + | * Eine andere Möglichkeit scheint [http://wiki.ubuntuusers.de/Lufs Lufs] zu bieten. |
| | | | |
| − | Hinzufügen einer WLAN-Verbindung:
| + | ==== Mounten eines ZIP-Archivs ==== |
| − | sudo nmcli device wifi connect ''SSID'' password ''PASSWORD''
| |
| − | SSID ist der WLAN-Name und Passwort ist der WLAN-Schlüssel.
| |
| | | | |
| − | Der Network-Manager lässt sich auch deaktivieren:<ref>Siehe http://xmodulo.com/disable-network-manager-linux.html . </ref>
| + | * [http://freshmeat.net/projects/fuse-zip fuse-zip(Freshmeat)], [http://linux.softpedia.com/get/System/Filesystems/fuse-zip-40109.shtml fuse-zip (Softpedia)], [http://code.google.com/p/fuse-zip/ fuse-zip (Google Code)] |
| − | Unter [[Linux Mint 17]] (wahrscheinlich auch unter Ubuntu 14.04 LTS Trusty) geht das so:
| + | * [http://www.inf.bme.hu/~mszeredi/avfs/ AVFS] |
| − | echo manual | sudo tee /etc/init/network-manager.override
| |
| | | | |
| | + | ==== Mounten via SSH ==== |
| | | | |
| − | === wicd === | + | * Übers Netzwerk kann man auch per [http://apps.sourceforge.net/mediawiki/fuse/index.php?title=Main_Page SSH-FUSE-Dateisystem] auf einen entfernten Rechner zugreifen. Das ist ein recht sicherer Zugriff, aber auch transparent, da die Dateien ins lokale Verzeichnis eingehängt (gemountet) werden können. |
| | | | |
| − | Eine Alternative zum Network-Manager ist wicd. Neben der grafischen Oberfläche (auch mit Tray-Icon) bietet wicd auch eine Kommandozeile und eine ncurses-Version zur halbgrafischen Bedienung im Terminal.
| + | ==== Mounten von NFS ==== |
| | | | |
| − | Sollte wicd unter [[Linux Mint]] 17.3 vor dem Start nach einem Passwort fragen, hilft folgende Befehlsfolge (man beachte die Punkte).<ref>Siehe https://answers.launchpad.net/ubuntu/+source/wicd/+question/94845/ Post #7.</ref>
| + | Eine [[NFS]]-Freigabe (siehe /etc/exports auf dem Host) kann folgendermaßen gemountet werden: |
| | + | sudo mount 192.168.0.5:/srv/nfs/myhome /mnt/nfshome |
| | | | |
| − | === Fehlersuche === | + | ==== Mounten eines WebDAV-Verzeichnisses ==== |
| | | | |
| − | * Falls der Rechner etwas älter ist und die Netzwerkkarte nicht erkannt wird, hat es vielleicht mit einer Unverträglichkeit mit dem Power-Management zu tun. Vielleicht helfen dann die Boot-Optionen <code>noapic nolapic</code> weiter. | + | * [[WebDAV]]-Verzeichnisse können auch dauerhaft gemountet werden, siehe [http://www.arvid-geiger.de/index.php?category_id=40&wikipage=WebDav hier]. |
| − | * Falls der Rechner seine IP-Adresse von einem DHCP-Server beziehen soll, hilft vielleicht
| |
| − | /sbin/dhcpcd -d -t 10 eth0
| |
| | | | |
| − | Mit
| + | Um als normaler User WebDAV-Verzeichnisse einzuhängen benötigt die <code>/etc/fstab</code> etwa folgende Zeile (Beispiel für T-Online Mediencenter und Benutzer USER): |
| − | dmesg|less | + | |
| − | kann man sich die Ausgaben während des Bootvorgangs ansehen. Siehe bei Netzwerk-Problemen unter Linux auch http://www.adsl4linux.de/howtos/lan22/ und das [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet-HOWTO].
| + | https://webdav.magentacloud.de/ /home/USER/t-online davfs noauto,user,rw 0 0 |
| | | | |
| − | * Eine Anleitung zu [http://www.oreilly.de/german/freebooks/linag2/netz0802.htm pppd] findet sich bei O'Reilly.
| + | Zusätzlich muss der Mountpunkt noch angelegt werden: |
| − | * Siehe
| + | mkdir ~/t-online |
| − | ** [[Synchronisation unter Linux]], [[Synchronisation Web-PC-Handy]].
| |
| | | | |
| − | === WLAN ===
| + | Davfs2 muss installiert werden und normalen Nutzern das Mounten erlaubt werden |
| | + | sudo aptitude install davfs2 |
| | + | sudo dpkg-reconfigure davfs2 # Frage nach setuid mit "Ja" beantworten |
| | | | |
| − | ==== WLAN-Hardware ====
| + | Der Benutzer muss noch der Gruppe <code>davfs2</code> hinzugefügt werden: |
| | + | sudo addgroup USER davfs2 |
| | | | |
| − | ===== USB-WLAN mit RT3070 Chip =====
| + | Zur Vermeidung der Passwortabfrage sollte noch die Datei <code>/home/USER/.davfs2/secrets</code> mit folgendem Inhalt angelegt werden:<ref>http://tomalison.com/reference/2010/04/03/webdav/</ref> |
| | + | /home/USER/t-online xy@t-online.de password |
| | | | |
| − | Der RT3070 ist u.a. im [http://wiki.ubuntuusers.de/wlan/karten#LogiLink LogiLink WL00049A verbaut].
| + | Die Datei sollte nur von USER einsehbar sein: |
| | + | chmod 600 /home/USER/.davfs2/secrets |
| | | | |
| − | * Unter [[Ubuntu]] muss [http://linuxforums.org.uk/hardware-compatibility/ralink-rt2870-based-usb-wireless-n-adapters-(ubuntu)/ das Modul rt2800usb] gesperrt werden, indem es in die <code>/etc/modprobe.d/blacklist.conf</code> eingetragen wird.
| + | Dann kann das WebDAV-Verzeichnis gemountet werden: |
| | + | mount /home/USER/t-online |
| | | | |
| − | * Auch in [[Debian]] muss [http://vivahate.com/2011/04/04/ralink-rt2870rt3070-in-debian-6-squeeze/ das Modul rt2800usb] gesperrt werden und das Paket <code>firmware-ralink</code> aus dem <code>non-free</code>-Repository installiert werden.
| + | Ein <code>auto</code>-Einbinden in der <code>/etc/fstab</code> funktioniert nicht ohne Weiteres. Möglicherweise hilft die zusätzliche Option <code>_netdev</code>, um das Einbinden bis zum Etablieren des Netzwerks zurückzustellen.<ref>Vgl. http://askubuntu.com/questions/277873/mount-webdav-fails-on-reboot</ref> |
| | | | |
| − | * den Treiber auf der [http://www.ralinktech.com/support.php?s=2 Hersteller-Website]
| |
| − | * http://lobmenschen.de/index.php/RALINK_RT3070_Linux_Treiber_Installation ([http://ubuntuforums.org/archive/index.php/t-1106034.html Ergänzung])
| |
| − | * Ab Kernel 2.6.31 ist der Rt3070-Treiber (experimentell) integriert.
| |
| − | * OpenSuse scheint den Chip ab V 11.1 zu unterstützen.<ref>http://www.xadux.eu/wireless-lan-und-lan/3423-rt3070-2.html</ref>
| |
| − | * Auch unter [[Ubuntu]] gibt es dazu [http://forum.ubuntuusers.de/topic/wlan-an-fritzbox-7270-mit-rt3070-wpa-wpa2/ Versuche], z.B. [http://lifewithdebian.blogspot.com/ hier]. Unter Ubuntu 9.10 funktioniert der Chip jedoch bereits out-of-the-box.
| |
| − | * Für [[Debian]] gibt es [http://wiki.debian.org/rt2870sta hier] eine Anleitung zu einem ähnlichen Chip.
| |
| − | * Evtl. funktioniert er auch mit [http://www.openbsd.org/cgi-bin/man.cgi?query=run&sektion=4&format=html OpenBSD].
| |
| | | | |
| − | ===== RT2500 =====
| + | Siehe auch [http://skripta.de/Davfs2.html diese Anleitung zum Mounten des Telekom Mediencenters]. |
| − | * unter [http://www.freebsd.org/cgi/man.cgi?query=ural&sektion=4&manpath=FreeBSD+6.0-RELEASE FreeBSD 6.0]
| |
| | | | |
| − | ===== rt2070-Chip ===== | + | ==== Mounten einer Windows-Freigabe/Samba-Share ==== |
| − | * [http://maxein08.wordpress.com/2009/11/04/guida-allinstallazione-di-una-chiavetta-wireless-sitecom-wl-608-su-ubuntu/ italienischer Tipp]
| |
| | | | |
| − | ===== ZD1211-Chipsatz =====
| + | * Um die [[Samba]]-Server im Netzwerk anzuzeigen, bitte |
| − | * [http://wiki.debian.org/zd1211rw Installation unter Debian]
| + | nmbstatus |
| − | * Unter [[OpenSuse]]:
| + | eingeben.<ref>Vgl. http://de.opensuse.org/SDB:Drucken_via_SMB_(Samba)_Share_bzw._Windows_Freigabe.</ref> |
| − | zypper install zd1211-firmware
| |
| | | | |
| − | ==== Vermeidung der Passwortabfrage ====
| + | * Um die von einem Samba-Server (z.B. Windows-Rechner) freigegebenen Ressourcen anzusehen, bitte |
| | + | smbclient -L sambaserver |
| | + | eingeben, wobei <code>sambaserver</code> der Name des Samba-Servers ist.<ref>http://www.tldp.org/HOWTO/SMB-HOWTO-8.html.</ref> |
| | | | |
| − | Wenn man unter [[Gnome]] ein [[WLAN]] einrichtet, kann man das dafür nötige Passwort im Gnome-Schlüsselbund abspeichern. Wenn man beim Hochfahren sich automatisch anmelden lässt (ohne Login mit Passwort), benötigt der [[NetworkManager]] Zugriff auf den Schlüsselbund. Daher wird man vor Aufbau der Verbindung nach dem Schlüsselbund-Passwort gefragt. Das lässt sich vermeiden, indem man dem Standardschlüsselbund ein leeres Passwort gibt<ref>http://wiki.ubuntuusers.de/GNOME_Schl%C3%BCsselbund#Automatische-Anmeldung-in-GDM</ref>. Das ist aber ein <code>Sicherheitsrisiko</code>.
| + | * Mit Konqueror lässt sich graphisch durch die Samba-Freigaben browsen: Einfach <code>smb:/</code> in die Adresszeile eingeben. |
| | | | |
| | + | * Samba-Mounts lassen sich in der /etc/fstab auch [http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanently.html permanent einrichten]. |
| | + | ** Siehe für die Freigabe einer [[Samba]]-Share und deren Mounten z.B. [http://forum.geizhals.at/t369562,2885141.html#2885141 hier] oder [http://de.opensuse.org/SDB:Auf_Windows-Freigaben_zugreifen hier (OpenSuse 8.1)]. |
| | + | ** Auch [http://www.wiki.csoft.at/index.php/Netzwerklaufwerk_mit_Linux_hinzuf%C3%BCgen hier] gibt es ein Beispiel zum Mounten einer [[Windows-Freigabe]]. |
| | | | |
| − | ==== Linuxbox als WLAN-Accesspoint ====
| |
| | | | |
| − | Den Linux-Rechner kann man auch als Accesspoint für Geräte ohne WLAN nutzen, also Kabel zwischen Client und Linux-Rechner und drahtlose Übertragung zwischen Linux-Rechner und entferntem Internet-Router:
| + | ==== Mounten eines Loop-Devices ==== |
| − | * http://www.nicolaskuttler.com/post/using-any-debian-box-as-wireless-access-point/
| |
| − | * http://wiki.ubuntuusers.de/WLAN_Router
| |
| | | | |
| − | === Bluetooth ===
| + | Das Mounten eines Loop-Devices geht wie das Mounten eines normalen Block-Devices. Bei den Optionen in der /etc/fstab steht zusätzlich <code>loop</code>. |
| | | | |
| − | Siehe [[Bluetooth]] | + | Siehe |
| | + | * http://www.volkerschatz.com/unix/advmount.html |
| | | | |
| | + | ==== Mounten eines Sandwich-Dateisystems ==== |
| | | | |
| − | === Using Android-Phone as Internet-Modem ===
| + | Das '''UnionFS''' und das '''AUFS''' wird in moderneren [[Linux]]-Distributionen von '''OverlayFS''' abgelöst. |
| | | | |
| − | Normalerweise kann das [[Android]]-Smartphone einfach an einen [[USB]]-Port des [[Linux]]-Rechners angeschlossen werden. Im Android muss dann in den Einstellungen noch das USB-Tethering aktiviert werden.
| + | Beispiel: Der Inhalt des Verzeichnisses <code>lower</code> sollte im Verzeichnis <code>together</code> erscheinen, soweit er nicht vom Inhalt von <code>upper</code> verdrängt wird: |
| | + | sudo mount -t overlayfs -o lowerdir=lower,upperdir=upper overlayfs together |
| | + | Ist <code>upper</code> beim Einhängen leer, sieht man alle Änderungen im Verzeichnis <code>together</code> in <code>upper</code>. <code>lower</code> ändert sich nicht. |
| | | | |
| − | Leider funktioniert das nicht immer, eventuell hilft
| + | Siehe |
| − | * [http://www.upubuntu.com/2011/12/how-to-tether-your-android-phone-to.html diese Anleitung mit der App EasyTether] | + | * [http://askubuntu.com/questions/109413/how-do-i-use-overlayfs Kurzanleitung für OverlayFS] |
| | + | * [https://git.kernel.org/cgit/linux/kernel/git/mszeredi/vfs.git/tree/Documentation/filesystems/overlayfs.txt?h=overlayfs.current OverlayFS-Technik] |
| | | | |
| − | === Wake up on LAN ===
| |
| | | | |
| − | Siehe [[Wake up on LAN]]
| + | Ähnliche Funktionalität wie OverlayFS scheint '''Ovl.o''' zu bringen: |
| | + | * [http://home.comcast.net/~artn/ovlfs/ovl.man.txt Manpage für ovl.o] |
| | | | |
| − | === Webserver === | + | ==== Mounten eines iPhone-Dateisystems ==== |
| | | | |
| − | * [[Plattformübergreifende Software#Serversoftware|Serversoftware]]
| + | Sollte beim Anstecken eines iPhones über USB-Kabel an einen Linux-Rechner und anschließendem Entsperren des iPhones durch Wischen von unten nach oben der Ordner mit den Fotos und Videos nicht automatisch gemountet werden, hilft wahrscheinlich die Installation von <code>ifuse</code>: |
| − | * [[oldCt:Webhosting]]
| + | sudo aptitude install ifuse |
| − | * [[Verschlüsselung]]
| |
| | | | |
| − | === Mail ===
| |
| − | * [[Mail unter Linux]]
| |
| | | | |
| − | === Fernzugriff === | + | ==== weitere Infoquelle für mount ==== |
| − | * [[Remote Desktop]]
| |
| − | ** [[ssh]]
| |
| | | | |
| − | == Grafiksystem ==
| + | Siehe |
| − | === Framebuffer ===
| + | * [http://pclosmag.com/html/issues/200709/page07.html Beschreibung von Mount-Optionen]. |
| | | | |
| − | Auch ohne X-System kann man unter Linux Grafiken anzeigen: Dazu gibt es den Framebuffer.
| + | === Kopieren einer Audio-CD === |
| | | | |
| − | Siehe z.B.
| + | Angeblich funktioniert [[dd]] nicht mit Audio-CDs. |
| − | * [http://hacklab.cz/2012/04/22/usefulness-linux-framebuffer-virtual-console fbi] zum Anzeigen von Bildern
| |
| − | * fbtv zur Anzeige von Fernsehen
| |
| − | * directvnc, eine [[VNC]]-Client für den Framebuffer
| |
| | | | |
| − | Weitere Infos
| + | Das einfachste Kommando zum Kopieren einer CD ist<ref>Siehe http://www.togaware.com/linux/survivor/Duplicate_Audio.html</ref> |
| − | * [http://hacklab.cz/2012/04/22/usefulness-linux-framebuffer-virtual-console Übersicht über Anwendungen für Framebuffer]
| + | cdrdao copy |
| − | * [https://github.com/notro/fbtft/wiki/Framebuffer-use weitere Anwendungsbeispiele für den Framebuffer]
| |
| | | | |
| − | === X ===
| + | Um trotzdem von der Kommandozeile (und nicht z.B. mit den grafischen Tools Brasero oder K3b) eine Audio-CD kopieren nutzt man <code>cdrdao</code>: |
| − | * [[X Server]]
| |
| | | | |
| − | === Window Manager ===
| + | cdrdao read-cd --device /dev/cdrom --read-raw --datafile INHALT.bin VERZEICHNIS.toc # Kopiert CD-Inhalt und -Verzeichnis auf die Festplatte |
| | + | cdrdao write-cd --device /dev/cdrom VERZEICHNIS.toc # Kopiert CD-Inhalt auf neue Audio-CD |
| | | | |
| − | Siehe [http://www.knetfeder.de/linux/spezial/pz-spezial-fenstermanager.pdf Einführung in Nur-Fenstermanager].
| + | Falls man beim Lesen Probleme bekommt und cdrdao an einer bestimmten Stelle hängen bleibt, sollte man den Paranoia-Mode reduzieren: |
| | + | cdrdao read-cd --device /dev/cdrom ''--paranoia-mode 0'' --read-raw --datafile INHALT.bin VERZEICHNIS.toc |
| | | | |
| − | [[Fluxbox]] ist ein im Verhältnis zu [[GNOME]] und [[KDE]] schneller und kleiner Window Manager. | + | === Backup === |
| | + | * [http://blog.beimax.de/2008/10/27/tagliches-inkrementelles-backup-mit-cron-und-tar-unter-linux/ Inkrementelles Backup mit cron und tar] |
| | + | * [http://de.wikibooks.org/wiki/Linux-Kompendium:_Backups Linux-Kompendium: Backups] |
| | + | * Siehe auch [[Programmierprojekte#P2P-Backup]] |
| | + | * [http://wiki.ubuntuusers.de/dirvish Dirvish] ist eine recht simple Commandline-Lösung, die auf [[rsync]] und [[ssh]] basiert. |
| | + | ** [http://wiki.edseek.com/howto:dirvish Dirvish-HOWTO] |
| | + | * [http://www.amanda.org/ Amanda] ist eine Open-Source-Lösung zum Backup mehrerer Clients (auch Windows) auf einem zentralen Server |
| | + | * [http://www.getdropbox.com/pricing dropbox] bietet 2 GB - Webspeicherplatz zum Synchronisieren mehrerer Computer, aber auch als Webbackup nutzbar. Es gibt auch ein [https://www.dropbox.com/help/246/en Ubuntu-Repository für Dropbox]. |
| | | | |
| − | * [http://www.linuxmint.com/rel_helena_fluxbox.php Fluxbox-Tastenkürzel]
| |
| | | | |
| − | * Das Umsteigen von Windows würde es erleichtern, wenn er nicht nur ein Startmenü durch Rechtsklick auf den Desktop hätte, sondern auch bei Klicken eines Icons links unten. Dazu gibt es wohl auch Lösungen: | + | Open-Source Backup Produkte: |
| − | ** [http://ubuntuforums.org/showthread.php?p=3130878#post3130878 Änderungen am Source-Code von Fluxbox] | + | * [https://restic.net/ restic] - Kommandozeilenprogramm, geschrieben in [[Go]], siehe unten |
| | + | * [https://borgbackup.readthedocs.io/en/stable/ Borg Backup], siehe [[BorgBackup]] |
| | + | * [https://burp.grke.org/ Burp] |
| | + | * [http://backuppc.sourceforge.net/info.html BackupPC] (serverseitige Lösung zum Backup vieler Clients, geschrieben in Perl, mit Web-Interface zur Administration) |
| | + | * [http://www.amanda.org/ Amanda] |
| | + | * [http://www.nongnu.org/storebackup/de/node14.html storebackup] |
| | | | |
| − | === Grafische Fernsteuerung === | + | Linux-Bordmittel: <code>dump</code>, <code>tar</code>, <code>smbtar</code>, [http://www.orgapage.net/pages/server/linux/backup.php?OP_SITE=c2c6a3e534e145bb4b8df1f629e0d380 rsync], [http://www.bsi-fuer-buerger.de/daten/03080801.htm Tipps vom BSI], [http://www.linux-backup.net/ linux-backup.net] |
| | + | |
| | + | [http://linuxwiki.de/rsync/SnapshotBackups Umfangreiche Anleitung zu inkrementellem Backup] mit Hilfe von <code>rsync</code> |
| | + | |
| | + | * Andere Hilfsmittel: <code>[[unison]]</code> |
| | + | |
| | + | * [[MediaWiki]]: [http://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki Anleitung zum Backup eines MediaWiki-Systems] |
| | | | |
| − | Siehe [[Remote Desktop]]
| + | ==== Backup mit Borg ==== |
| | | | |
| − | == Multimedia == | + | ===== Backup ===== |
| − | * Siehe [[Multimedia]]
| + | Initialisiere Repository mit [https://borgbackup.readthedocs.io/en/stable/ Borg Backup] |
| − | ** [[Plattformübergreifende Software#Multimedia]]
| |
| | | | |
| − | === Audio ===
| + | borg init --encrypt none <repoPath> |
| | + | |
| | | | |
| − | Siehe auch [[Audio]]
| + | Erstelle Snapshot |
| | + | borg create --stats --progress <repopath>::documents_$(date -I) $(realpath ~/documents) |
| | | | |
| − | Siehe auch [[Videotelefonie]]
| |
| | | | |
| − | === Videos ===
| + | Man kann auch einen Lauf starten, bei dem nichts verändert wird: |
| | + | borg create --dry-run --list \ |
| | + | --progress <repopath>::documents_$(date -I) $(realpath ~/documents) |
| | | | |
| − | ==== Abspielen ==== | + | ===== Borg-Repo-Pfad ===== |
| − | Die Versorgung mit Codecs ist unter Linux ein - lösbares - Problem. Z.B. hilft die [[plattformübergreifend]]e Software [[VLC]].
| |
| | | | |
| − | Ein Projekt namens [http://abock.org/2009/02/11/announcing-moonshine-the-project-never-formerly-known-as-pornilus/ Moonshine] ermöglicht unter Linux Windows Media Content mit Original-Microsoft-Codecs abzuspielen. Es nutzt dazu [[Moonlight]].
| + | Auf dem lokalen Rechner ist <repopath> eine schlichte Pfadangabe wie <code>/mnt/externUSB/backup</code>. |
| | | | |
| − | ==== Herunterladen ==== | + | Via [[SSH]] kann man aber auch auf einen entfernten Rechner backupen. <repopath> lautet dann: |
| | + | ssh://user@host:port/path/to/repo |
| | + | |
| | + | Die Angabe des Repository-Pfades kann man sich sparen, indem man ihn mit |
| | + | export BORG_REPO=<repopath> |
| | + | als Umgebungsvariable borg zur Verfügung stellt. |
| | | | |
| − | Videos von [[YouTube]] lassen sich mit
| + | ==== Backup mit Restic ==== |
| − | youtube-dl -t http://www.youtube.com/watch?v=j09hpp3AxIE
| |
| − | herunterladen. Dabei ist die anzugebende URL diejenige, die man im Browser-Adressfeld beim Surfen auf youtube findet.
| |
| | | | |
| − | Wenn der Download nicht funktioniert, hilft wahrscheinlich ein Update
| + | Anlegen eines Backup-Repositorys mit [https://restic.readthedocs.io/en/stable/manual_rest.html restic]: |
| − | youtube-dl -U | + | restic -r sftp:BACKUP_RECHNER:/pfad/zum/repository init |
| | | | |
| − | ==== TV ====
| + | Eine Passwortdatei ist eine einfache Textdatei mit dem Passwort in einer Zeile. |
| | | | |
| − | Neben Projekten wie
| + | Anzeigen der vorhandenen Snapshots |
| − | * [[VDR]]
| + | restic -r sftp:BACKUP_RECHNER:/pfad/zum/repository -p /pfad/zur/Passwortdatei snapshots |
| − | * [[MythTV]]
| |
| − | * [[XBMC]], nun [[Kodi]]
| |
| − | ** auch mit [http://linux.mjnet.eu/post/804/xbmc-pvr-tvheadend-ubuntu-12-04-install/ tvheadend]
| |
| | | | |
| − | gibt es auch Konsolenprogramme:
| + | Backup |
| − | * [[ttv]]
| + | restic -r sftp:BACKUP_RECHNER:/pfad/zum/repository -p /pfad/zur/Passwortdatei backup /pfad/zu/den/zu/sichernden/dateien |
| − | * [[fbtv]] - bietet TV im [[FrameBuffer]]
| |
| | | | |
| − | Für den Electronic Program Guide - EPG gibt es
| + | restic folgt symbolischen Links (symlinks) nicht, sondern sichert sie als solche. Wenn man ein Verzeichnis, auf das ein Symlink verweist sichern will, kann man sich readlink zunutze machen: |
| | | | |
| − | * [http://sourceforge.net/projects/tvbrowser/ den TV-Browser], freie [[Java]]-Programmzeitschrift mit Aufzeichnungs-Plugin [[SimplePVR]]
| + | restic -r sftp:BACKUP_RECHNER:/pfad/zum/repository -p /pfad/zur/Passwortdatei backup $(readlink -f /pfad/zum/Symlink) |
| | | | |
| − | Wichtig ist, dass der den TV-Stick nutzende User der Gruppe <code>video</code> zugeordnet ist, z.B. für den [[Tvheadend]]-Nutzer:
| + | restic hat [https://restic.readthedocs.io/en/stable/050_restore.html viele Möglichkeiten zum Wiederherstellen]. Beispiel: |
| − | sudo adduser hts video
| |
| | | | |
| − | Die Pakete dvbsnoop, dvb-apps, dvb-tools und w-scan bieten Werkzeuge, um die Einrichtung von DVB-C-Adaptern zu debuggen.
| + | restic -r sftp:BACKUP_RECHNER:/pfad/zum/repository -p /pfad/zur/Passwortdatei restore latest \ |
| − | Beispielsweise lässt sich mit
| + | --target /pfad/wo/die/dateien/wiederhergestellt/werden/sollen --path "/pfad/der/wiederhergestellt/werden/soll" |
| − | dvb-fe-tool -d DVBC/ANNEX_A | |
| − | der ein DVB-T/C-Adapter auf DVB-C umschalten. | |
| − |
| |
| | | | |
| − | Siehe auch [[DVB-C]]
| + | === Festplatten in Ruhezustand versetzen === |
| | + | Mittels |
| | + | sudo hdparm -y /dev/sdc |
| | + | lässt sich die Festplatte sdc in den Standby-Modus versetzen.<ref>Vgl. https://www.pks.mpg.de/~mueller/docs/suse10.3/opensuse-manual_de/manual/sec.pmanage.silenthd.html</ref> |
| | | | |
| − | === Webcam === | + | Mittels |
| | + | hdparm -S 30 /dev/sdc |
| | + | lässt sich eine Festplatte nach 30*5=150 Sekunden in den Ruhezustand versetzen. |
| | | | |
| − | * Einfach Bilder von der [[Shell]] aufnehmen geht mit dem Paket [http://ubuntu.online02.com/node/25 streamer]:
| + | Über die <code>/etc/hdparm.conf</code> lässt sich [https://linuxundich.de/hardware/festplatten-automatisch-im-betrieb-in-den-standby-schalten/ das auch automatisch einrichten]. |
| − | sudo aptitude install streamer
| |
| − | streamer -f jpeg -o test.jpeg
| |
| | | | |
| − | * Alternativen sind [http://tldp.org/HOWTO/Webcam-HOWTO/framegrabbers.html camE etc.]
| + | === Festplattenfehler === |
| | + | |
| | + | Festplattenfehler lassen sich u.a. mit |
| | + | * smartmontools |
| | + | * badblocks |
| | + | * e2fsck |
| | + | * dd_rescue |
| | + | * debugfs |
| | + | finden. |
| | | | |
| − | === Videotelefonie ===
| + | Z.B. kann man ein fehlerhaftes EXT2/EXT3/EXT4-Dateisystem mit folgendem Befehl (interaktiv) reparieren lassen: |
| − | ==== Skype ====
| + | sudo e2fsck /dev/sda5 |
| − | [[Videotelefonie]] funktioniert auch unter [[Linux]], z.B. mit [[Skype]], auch wenn man zur Vermeidung von Abstürzen noch [http://dark.asengard.net/blog/2009/04/17/avoid-skype-crash-with-video-conversation-on-linux/ Workarounds] benötigt.
| |
| | | | |
| − | * [https://help.ubuntu.com/community/SkypeTroubleshooting Skype Troubleshooting] für [[Ubuntu]] | + | Siehe |
| − | * [http://blogs.skype.com/linux/ Skype for Linux Blog] | + | * https://recoverit.wondershare.de/harddrive-tips/repair-linux-disk.html |
| | + | * http://www.technologyblog.de/2014/06/defekte-sektoren-reparieren-unter-linux-mit-badblocks/ |
| | + | * http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2010/08/Integritaet-gespeicherter-Daten-sicherstellen |
| | | | |
| − | ==== Alternativen ==== | + | === Verschlüsselung === |
| − | Wer nur telefonieren will, findet [http://www.easylinux.de/Artikel/ausgabe/2006/06/026-skype/ freie Alternativen], die das [[SIP]]-Protokoll nutzen.
| |
| | | | |
| − | === Digitalkameras unter Linux === | + | * Siehe auch [[Verschlüsselung]] |
| − | * Siehe dazu den Beitrag unter [http://www.pro-linux.de/berichte/digitalkameras.html Pro-Linux.de] | + | |
| − | * [http://www.linuxdevcenter.com/pub/a/linux/2005/01/06/digicam.html Anleitung] für die Nutzung einer Kodak-Kamera
| + | ==== Dateien verschlüsseln ==== |
| − | * [http://www.linuxnetmag.com/de/issue6/m6gphoto1.html Anleitung] für die Nutzung von [http://www.gphoto.org gphoto] | + | * Mit <code>gpg</code> lassen sich unter Linux [http://www.cs.arizona.edu/computing/utilities/linux-encryption.html#gpg einzelne Dateien verschlüsseln]. |
| − | * [http://m4l.berlios.de/pub/Main/HowTo/DE-DIGITALKAMERA-HOWTO.html Digitalkamera HOWTO] (noch für den Kernel 2.4)
| + | * Automatisch für ganze Verzeichnisse geht das mit [[EncFS]] |
| − | * Weitere Links:
| |
| − | ** http://blog.chip.de/chip-linux-blog/digitalkameras-fotografie-unter-linux-20070521/
| |
| − | ** http://www.multimedia4linux.de/cameramodule.html
| |
| − | ** http://www.gphoto.org/cameras.html
| |
| − | ** http://www.qbik.ch/usb/devices/
| |
| | | | |
| − | === Bildanzeige === | + | ==== Dateisysteme verschlüsseln ==== |
| | | | |
| − | In den graphischen Desktop-Umgebungen ist die Anzeige von Bildern selbstverständlich kein Problem.
| + | * [http://www.linux-magazin.de/Ausgaben/2006/10/Loechriger-Kaese älterer Überblick über Datei-Verschlüsselungen unter Linux] |
| | | | |
| − | Aber es gibt auch Möglichkeiten auf der Konsole:
| + | ==== SSL ==== |
| | + | [[SSL]]-Zertifikate kopiert man unter [[Ubuntu]] ins Verzeichnis <code>/usr/share/ca-certificates</code> und macht sie dem System so bekannt: |
| | + | sudo dpkg-reconfigure ca-certificates |
| | | | |
| − | * [[fbi]] - benutzt Linux Frame Buffer System
| + | Siehe auch [[SSL]] |
| − | ** [http://linuxers.org/howto/howto-open-images-linux-console-using-fbi-console-based-image-viewer Howto für FBI]]
| |
| − | * [[xli]]
| |
| − | * [[xloadimage]] benötigt [[X]]
| |
| − | * [[xwud]] bedarf einer [[X]]-Umgebung
| |
| − | * [[xzgv]] benötigt [[X]], hat angeblich gute Tastaturunterstützung
| |
| | | | |
| − | === Bildbearbeitung === | + | ==== Leere Verzeichnisse löschen ==== |
| − | Siehe
| |
| − | * [[Fotografie]]
| |
| − | * [[GIMP]]
| |
| − | * [[pixelize]] - ein Programm, mit dem man ein größeres Bild aus unzähligen kleineren Bildern zusammensetzen kann
| |
| | | | |
| − | ==== ImageMagick ====
| + | Mit folgendem Befehl werden alle leeren Unterverzeichnisse gelöscht:<ref>http://www.unixboard.de/vb3/showthread.php?28301-leere-Verzeichnisse-finden</ref> |
| − | Auf der Kommandozeile unter Linux helfen die Tools von ImageMagick:
| |
| − | * [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2012/08/Bildbearbeitung-mit-ImageMagick Anleitung auf LINUX-Community]
| |
| | | | |
| − | Beispielsweise lassen sich mit folgendem Befehl Bilder als Kacheln auf einem neuen Bild getrennt mit einem transparenten Rahmen darstellen:
| + | find -depth -type d -empty -exec rmdir "{}" \; |
| | | | |
| − | montage -monitor -resize x200+0+0 -crop 300x200+20+0 -geometry 200x200+50+50 -background transparent bilder*.jpg uebersicht.png
| + | === Dateien im Netzwerk === |
| | | | |
| − | === Bildinformationen ===
| + | Siehe |
| − | Mit den [http://exiflow.sourceforge.net/wiki/Main_Page Exiflow-Tools] können Bilddateien einfach gemäß dem Erstellungsdatum umbenannt werden.
| + | * [[NFS]] |
| | + | * [[Samba]] |
| | + | * [http://www.openafs.org/ OpenAFS] |
| | + | * [[WebDAV]] |
| | + | * [[SSH]] mit sshfs |
| | | | |
| − | Mit [http://www.exiv2.org/index.html exiv2] lässt sich auf der Kommandozeile die Informationen eines Bildes auswerten.
| + | == Netzwerk == |
| − | | + | * Siehe [[Netzwerk]] |
| − | Auch [[exiftags]] und [[exif]] bieten die Informationen aus dem EXIF-Teil des JPEG-Bilds über die Kommandozeile an.
| + | * Siehe [[Samba]] |
| | + | * Siehe zudem [[Installation von OpenSuse über PXE]] |
| | + | * Siehe [[Bluetooth-Tipps]] |
| | + | * Siehe [[Sony VAIO PCG-Z600RE]] |
| | + | * Siehe auch [[#Mounten eines FTP-Verzeichnisses]]. |
| | | | |
| − | Schließlich bietet auch [http://www.sentex.net/~mwandel/jhead/ jhead] ([http://linux.die.net/man/1/jhead man-page]) alle textuellen Informationen. Dieses Programm läuft nicht nur unter Linux, sondern auch unter Windows. Eine [http://www.guckes.net/augsburg2006/bildbearbeitung_auf_der_console.txt Verwendungsbeispiel]:
| + | === Allgemeines === |
| − | jhead -nfhm%04Y.%02m.%02d-%H%M%S.%f *.jpg
| |
| − | Das macht aus der Datei p104711.jpg z.B. hm2007,11,12-110048.p104711.jpg.
| |
| | | | |
| − | In den OpenSuse-Forums findet sich ein [http://forums.opensuse.org/archives/sf-archives/archives-programming-scripting/335342-rename-files-using-creation-date.html Shell-Skript zum Umbenennen von Movies (.MOV)] basierend auf dem Dateimodifikationsdatum. Damit lässt sich obiger jhead-Befehl nachbilden (der Unterschied bleibt natürlich, dass nicht das EXIF-Datum, sondern das Dateidatum in den Namen aufgenommen wird):
| + | ==== Konfiguration in <code>/etc/network/interfaces</code> ==== |
| | | | |
| − | #!/bin/sh
| + | In <code>/etc/network/interfaces</code> kann man manuelle Einstellungen für das Netzwerk vornehmen. Siehe [http://wiki.ubuntuusers.de/interfaces diese Anleitung] für [[Ubuntu]]. Dann kann man aber für das betreffende Interface den NetworkManager nicht mehr verwenden. |
| − | for file in ${@}; do
| |
| − | if [ -e $file ]; then
| |
| − | timestamp=`ls -l --time-style=+%Y.%m.%d-%H%M%S $file |cut -d' ' -f6`
| |
| − | newfile="hm$timestamp.$file"
| |
| − | echo Aus $file wird $newfile ...
| |
| − | mv -v "$file" "$newfile"
| |
| − | fi
| |
| − | done
| |
| | | | |
| − | == Fernzugriff == | + | ==== Konfiguration des Netzwerks mit systemd ==== |
| − | * [[Remote Desktop]]
| |
| − | ** [[ssh]]
| |
| | | | |
| − | == Drucken ==
| + | Systemd kann alles, aber hält sich nicht an das KISS-Prinzip (Keep it simple stupid). So kann Systemd auch das Netzwerk konfigurieren. Siehe |
| − | === Allgemeines ===
| + | * https://www.debian.org/doc/manuals/debian-reference/ch05.de.html#_the_modern_network_configuration_without_gui |
| − | * Das CUPS-Drucksystem bietet unter http://localhost:631 eine Web-Verwaltungsoberfläche.
| |
| − | * CUPS verwendet das Internet Printing Protocol. Dies kann auch [http://www.heise.de/netze/Ueberall-drucken--/artikel/78252/0 Windows XP anbieten].
| |
| − | * [http://hplipopensource.com/hplip-web/supported_devices/index.html Hewlett-Packard] und [http://solutions.brother.com/linux/en_us/index.html Brother] scheinen recht umfangreichen Linux-Treiber-Support für ihre Drucker zu leisten. Aber auch für [http://avasys.jp/hp/menu000000500/hpg000000442.htm Epson-Drucker] gibt es etliche Treiber. | |
| − | * [http://www.linuxforen.de/forums/showthread.php?t=213560 Überblick über Drucken unter Linux]
| |
| − | * Einen Drucker am Linux-Rechner kann man [http://pda-und-co.de/linux/2009/05/03/eee-als-home-server-feste-ip-netzwerkdrucker-per-cups-einrichten/ auch vom Windows-PC als Netzwerkdrucker nutzen]
| |
| | | | |
| − | Beim Netzwerk-Server, an den der Drucker angeschlossen ist, muss man den Clients den Zugriff auf den Drucker erlauben:
| + | === Network-Manager === |
| − | cupsctl --share-printers
| + | In Desktop-Distributionen ist üblicherweise der "Network-Manager" installiert. Er lässt sich auch auf der Kommandozeile nutzen: |
| | | | |
| − | Von der Shell kann man einen Netzwerkdrucker folgendermaßen zum Client hinzufügen:
| + | sudo aptitude install Network-Manager |
| − | lpadmin -p printer -E -v ipp://server/printers/printer | |
| − | wobei man <code>printer</code> jeweils durch die CUPS-Drucker-Bezeichnung, z.B. "DESKJET-840C" ersetzen muss.
| |
| | | | |
| − | Siehe auch
| + | Hinzufügen einer WLAN-Verbindung: |
| − | * [[Drucken]] allgemein
| + | sudo nmcli device wifi connect ''SSID'' password ''PASSWORD'' |
| | + | SSID ist der WLAN-Name und Passwort ist der WLAN-Schlüssel. |
| | | | |
| − | === HP-Drucker ===
| + | Der Network-Manager lässt sich auch deaktivieren:<ref>Siehe http://xmodulo.com/disable-network-manager-linux.html . </ref> |
| | + | Unter [[Linux Mint 17]] (wahrscheinlich auch unter Ubuntu 14.04 LTS Trusty) geht das so: |
| | + | echo manual | sudo tee /etc/init/network-manager.override |
| | | | |
| − | HP bietet mit HPLIP eine Open Source - Unterstützung für Linux.
| |
| | | | |
| − | Falls HPLIP-Status sich wegen eines fehlenden Systray meldet, sollte man auf das GNOME-Panel gehen, rechts klicken -> "Zum Panel hinzufügen " -> "Benachrichtigungsfeld" wählen
| + | === wicd === |
| | | | |
| − | Um einen HP-All-In-One-Drucker/Scanner wie der [[HP OfficeJet 8600 Pro Plus]] im Netzwerk zu installieren, startet man als Root
| + | Eine Alternative zum Network-Manager ist wicd. Neben der grafischen Oberfläche (auch mit Tray-Icon) bietet wicd auch eine Kommandozeile und eine ncurses-Version zur halbgrafischen Bedienung im Terminal. |
| − | hp-setup -i
| |
| − | und wählt 2 für <code>net</code> aus.
| |
| | | | |
| − | === Brother ===
| + | Sollte wicd unter [[Linux Mint]] 17.3 vor dem Start nach einem Passwort fragen, hilft folgende Befehlsfolge (man beachte die Punkte).<ref>Siehe https://answers.launchpad.net/ubuntu/+source/wicd/+question/94845/ Post #7.</ref> |
| | | | |
| − | Die Installation von Brother-Drucker wird seitens Brother mit eigenständigen rpm- bzw- deb-Paketen unterstützt.
| + | === Ping ohne sudo === |
| | | | |
| − | Bei der Installation des Brother MFC-260C unter Linux Mint 17 32bit bedarf es folgender Schritte nach dem Download der DEB-Files vom [http://support.brother.com/g/s/id/linux/en/instruction_prn1a.html?c=us_ot&lang=en&redirect=on Brother Solutions Center]:
| + | Sollte das einfache Pingen eines Rechners Root-Rechte benötigen, kann man Ping mit den nötigen Rechten ausstatten:<ref>Vgl. https://debianforum.de/forum/viewtopic.php?t=156254</ref> |
| | + | sudo setcap cap_net_raw+ep /bin/ping |
| | | | |
| − | sudo mkdir /var/spool/lpd | + | === Fehlersuche === |
| − | sudo chgrp lp /var/spool/lpd | + | |
| − | sudo dpkg -i mfc260clpr-1.0.1-1.i386.deb | + | * Falls der Rechner etwas älter ist und die Netzwerkkarte nicht erkannt wird, hat es vielleicht mit einer Unverträglichkeit mit dem Power-Management zu tun. Vielleicht helfen dann die Boot-Optionen <code>noapic nolapic</code> weiter. |
| − | sudo dpkg -i mfc260ccupswrapper-1.0.1-1.i386.deb | + | * Falls der Rechner seine IP-Adresse von einem DHCP-Server beziehen soll, hilft vielleicht |
| | + | /sbin/dhcpcd -d -t 10 eth0 |
| | + | |
| | + | Mit |
| | + | dmesg|less |
| | + | kann man sich die Ausgaben während des Bootvorgangs ansehen. Siehe bei Netzwerk-Problemen unter Linux auch http://www.adsl4linux.de/howtos/lan22/ und das [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet-HOWTO]. |
| | + | |
| | + | * Eine Anleitung zu [http://www.oreilly.de/german/freebooks/linag2/netz0802.htm pppd] findet sich bei O'Reilly. |
| | + | * Siehe |
| | + | ** [[Synchronisation unter Linux]], [[Synchronisation Web-PC-Handy]]. |
| | + | |
| | + | |
| | + | ==== Netzwerktool ip ==== |
| | + | Siehe |
| | + | * https://www.heise.de/ct/artikel/FAQ-Netzwerke-analysieren-und-konfigurieren-mit-ip-4769802.html |
| | + | |
| | + | ==== Netzwerktool ss ==== |
| | + | |
| | + | Mit |
| | + | ss -ntlp |
| | + | kann man sich die offenen Ports und die daran lauschenden Anwendungen anzeigen lassen. |
| | + | |
| | + | ==== Netzwerktool netstat ==== |
| | + | |
| | + | Zur Installation: |
| | + | sudo aptitude install net-tools |
| | + | |
| | + | Zum Anzeigen der am Netzwerk lauschenden Programme: |
| | + | |
| | + | sudo netstat -tulpn |
| | + | |
| | + | ==== lsof ==== |
| | + | |
| | + | Mit Hilfe von |
| | + | sudo lsof -nP -i | grep LISTEN |
| | + | kann man sich ebenfalls die offenen Netzwerk-Ports (und die daran angedockten Prozesse) anzeigen lassen. |
| | + | |
| | + | ==== Netzwerkanalyse ==== |
| | + | |
| | + | Siehe [[Netzwerk]] |
| | + | |
| | + | === WLAN === |
| | + | |
| | + | ==== WLAN-Hardware ==== |
| | + | |
| | + | ===== USB-WLAN mit RT3070 Chip ===== |
| | + | |
| | + | Der RT3070 ist u.a. im [http://wiki.ubuntuusers.de/wlan/karten#LogiLink LogiLink WL00049A verbaut]. |
| | + | |
| | + | * Unter [[Ubuntu]] muss [http://linuxforums.org.uk/hardware-compatibility/ralink-rt2870-based-usb-wireless-n-adapters-(ubuntu)/ das Modul rt2800usb] gesperrt werden, indem es in die <code>/etc/modprobe.d/blacklist.conf</code> eingetragen wird. |
| | + | |
| | + | * Auch in [[Debian]] muss [http://vivahate.com/2011/04/04/ralink-rt2870rt3070-in-debian-6-squeeze/ das Modul rt2800usb] gesperrt werden und das Paket <code>firmware-ralink</code> aus dem <code>non-free</code>-Repository installiert werden. |
| | + | |
| | + | * den Treiber auf der [http://www.ralinktech.com/support.php?s=2 Hersteller-Website] |
| | + | * http://lobmenschen.de/index.php/RALINK_RT3070_Linux_Treiber_Installation ([http://ubuntuforums.org/archive/index.php/t-1106034.html Ergänzung]) |
| | + | * Ab Kernel 2.6.31 ist der Rt3070-Treiber (experimentell) integriert. |
| | + | * OpenSuse scheint den Chip ab V 11.1 zu unterstützen.<ref>http://www.xadux.eu/wireless-lan-und-lan/3423-rt3070-2.html</ref> |
| | + | * Auch unter [[Ubuntu]] gibt es dazu [http://forum.ubuntuusers.de/topic/wlan-an-fritzbox-7270-mit-rt3070-wpa-wpa2/ Versuche], z.B. [http://lifewithdebian.blogspot.com/ hier]. Unter Ubuntu 9.10 funktioniert der Chip jedoch bereits out-of-the-box. |
| | + | * Für [[Debian]] gibt es [http://wiki.debian.org/rt2870sta hier] eine Anleitung zu einem ähnlichen Chip. |
| | + | * Evtl. funktioniert er auch mit [http://www.openbsd.org/cgi-bin/man.cgi?query=run&sektion=4&format=html OpenBSD]. |
| | + | |
| | + | ===== RT2500 ===== |
| | + | * unter [http://www.freebsd.org/cgi/man.cgi?query=ural&sektion=4&manpath=FreeBSD+6.0-RELEASE FreeBSD 6.0] |
| | + | |
| | + | ===== rt2070-Chip ===== |
| | + | * [http://maxein08.wordpress.com/2009/11/04/guida-allinstallazione-di-una-chiavetta-wireless-sitecom-wl-608-su-ubuntu/ italienischer Tipp] |
| | + | |
| | + | ===== ZD1211-Chipsatz ===== |
| | + | * [http://wiki.debian.org/zd1211rw Installation unter Debian] |
| | + | * Unter [[OpenSuse]]: |
| | + | zypper install zd1211-firmware |
| | + | |
| | + | ==== Vermeidung der Passwortabfrage ==== |
| | + | |
| | + | Wenn man unter [[Gnome]] ein [[WLAN]] einrichtet, kann man das dafür nötige Passwort im Gnome-Schlüsselbund abspeichern. Wenn man beim Hochfahren sich automatisch anmelden lässt (ohne Login mit Passwort), benötigt der [[NetworkManager]] Zugriff auf den Schlüsselbund. Daher wird man vor Aufbau der Verbindung nach dem Schlüsselbund-Passwort gefragt. Das lässt sich vermeiden, indem man dem Standardschlüsselbund ein leeres Passwort gibt<ref>http://wiki.ubuntuusers.de/GNOME_Schl%C3%BCsselbund#Automatische-Anmeldung-in-GDM</ref>. Das ist aber ein <code>Sicherheitsrisiko</code>. |
| | + | |
| | + | |
| | + | ==== Linuxbox als WLAN-Accesspoint ==== |
| | + | |
| | + | Den Linux-Rechner kann man auch als Accesspoint für Geräte ohne WLAN nutzen, also Kabel zwischen Client und Linux-Rechner und drahtlose Übertragung zwischen Linux-Rechner und entferntem Internet-Router: |
| | + | * http://www.nicolaskuttler.com/post/using-any-debian-box-as-wireless-access-point/ |
| | + | * http://wiki.ubuntuusers.de/WLAN_Router |
| | + | |
| | + | === Bluetooth === |
| | + | |
| | + | Siehe [[Bluetooth]] |
| | + | |
| | + | |
| | + | === Using Android-Phone as Internet-Modem === |
| | + | |
| | + | Normalerweise kann das [[Android]]-Smartphone einfach an einen [[USB]]-Port des [[Linux]]-Rechners angeschlossen werden. Im Android muss dann in den Einstellungen noch das USB-Tethering aktiviert werden. |
| | + | |
| | + | Leider funktioniert das nicht immer, eventuell hilft |
| | + | * [http://www.upubuntu.com/2011/12/how-to-tether-your-android-phone-to.html diese Anleitung mit der App EasyTether] |
| | + | |
| | + | === Wake up on LAN === |
| | + | |
| | + | Siehe [[Wake up on LAN]] |
| | + | |
| | + | === Webserver === |
| | + | |
| | + | * [[Plattformübergreifende Software#Serversoftware|Serversoftware]] |
| | + | * [[oldCt:Webhosting]] |
| | + | * [[Verschlüsselung]] |
| | + | |
| | + | === Mail === |
| | + | Siehe |
| | + | * [[Mail unter Linux]] |
| | + | * [[Postfix]] |
| | + | |
| | + | === Fernzugriff === |
| | + | * [[Remote Desktop]] |
| | + | ** [[ssh]] |
| | + | |
| | + | == Grafiksystem == |
| | + | |
| | + | === Monitorinfos === |
| | + | |
| | + | Ob der Monitor angeschaltet oder im StandBy ist, kann man mit |
| | + | ddccontrol -p |
| | + | erfahren. |
| | + | |
| | + | Ansonsten bekommt man auch noch über folgende Befehle Infos über den Monitor (ggf. <code>DISPLAY=:0</code> voranstellen): |
| | + | xrandr |
| | + | oder |
| | + | xset -q |
| | + | |
| | + | === Framebuffer === |
| | + | |
| | + | Auch ohne X-System kann man unter Linux Grafiken anzeigen: Dazu gibt es den Framebuffer. |
| | + | |
| | + | Siehe z.B. |
| | + | * mplayer zum Anzeigen von Videos |
| | + | * [http://hacklab.cz/2012/04/22/usefulness-linux-framebuffer-virtual-console fbi] zum Anzeigen von Bildern |
| | + | * fbtv zur Anzeige von Fernsehen |
| | + | * directvnc, eine [[VNC]]-Client für den Framebuffer |
| | + | |
| | + | Weitere Infos |
| | + | * [http://hacklab.cz/2012/04/22/usefulness-linux-framebuffer-virtual-console Übersicht über Anwendungen für Framebuffer] |
| | + | * [https://github.com/notro/fbtft/wiki/Framebuffer-use weitere Anwendungsbeispiele für den Framebuffer] |
| | + | |
| | + | ==== mplayer für Framebuffer ==== |
| | + | |
| | + | Der Kommandozeilen-basierte Audio- und Video-Abspieler [[mplayer]] kann auch Videos auf der Linux-Konsole mittels Framebuffer anzeigen: |
| | + | mplayer -vo fbdev2 VIDEO.MOV |
| | + | |
| | + | Evtl. muss der Nutzer der Gruppe <code>video</code> hinzugefügt werden. |
| | + | |
| | + | ==== vlc für Framebuffer ==== |
| | + | |
| | + | Auch [[vlc]] kann den FrameBuffer nutzen. Das funktioniert z.B. mit der [[NCURSES]]-basierten Oberfläche, die man mit |
| | + | nvlc |
| | + | oder |
| | + | vlc -I |
| | + | erreicht. |
| | + | |
| | + | Die Installation erfolgt über |
| | + | sudo aptitude install nvlc |
| | + | |
| | + | oder |
| | + | sudo aptitude install vlc-bin vlc-base-plugins |
| | + | |
| | + | Hier ist erforderlich, dass der ausführende Benutzer der Gruppe <code>video</code> hinzugefügt wird: |
| | + | |
| | + | sudo adduser USER video |
| | + | |
| | + | |
| | + | Damit können z.B. auch rtsp-Streams (z.B. vom Kabeltuner der [[Fritz!box 6490]]) abgespielt werden: |
| | + | nvlc 'rtsp://....' |
| | + | |
| | + | === X === |
| | + | * [[X Server]] |
| | + | |
| | + | === Display Manager === |
| | + | |
| | + | Die Auswahl der Desktopumgebung wird nicht mehr unter <code>~/.dmrc</code> gespeichert, sondern in <code>/var/lib/AccountsService/users/$USER</code>. |
| | + | |
| | + | Man kann die Wahl aber auch über den [[dbus]] speichern: |
| | + | |
| | + | dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetXSession string:cinnamon |
| | + | |
| | + | === Window Manager === |
| | + | |
| | + | Siehe [http://www.knetfeder.de/linux/spezial/pz-spezial-fenstermanager.pdf Einführung in Nur-Fenstermanager]. |
| | + | |
| | + | [[Fluxbox]] ist ein im Verhältnis zu [[GNOME]] und [[KDE]] schneller und kleiner Window Manager. |
| | + | |
| | + | * [http://www.linuxmint.com/rel_helena_fluxbox.php Fluxbox-Tastenkürzel] |
| | + | |
| | + | * Das Umsteigen von Windows würde es erleichtern, wenn er nicht nur ein Startmenü durch Rechtsklick auf den Desktop hätte, sondern auch bei Klicken eines Icons links unten. Dazu gibt es wohl auch Lösungen: |
| | + | ** [http://ubuntuforums.org/showthread.php?p=3130878#post3130878 Änderungen am Source-Code von Fluxbox] |
| | + | |
| | + | ==== Menüeinträge fürs "Startmenü" oder den Desktop ==== |
| | + | |
| | + | Mit Hilfe von .desktop-Dateien können Einträge fürs Startmenü oder den Schreibtisch zum Starten von Programmen ("Apps") erstellt werden. Siehe |
| | + | * https://wiki.ubuntuusers.de/.desktop-Dateien/ |
| | + | |
| | + | Diese kann man auch nutzen, um die Programme beim Start des graphischen Desktops automatisch zu starten. Dazu müssen sie ins Verzeichnis <code>/etc/xdg/autostart/</code> bzw. <code>/home/USER/.config/autostart</code> eingefügt und als ausführbar markiert werden. |
| | + | |
| | + | ==== Programme minimiert starten ==== |
| | + | |
| | + | In den .desktop-Dateien fehlt leider eine Option zum minimierten Starten. |
| | + | |
| | + | Aber es gibt Abhilfe mittels wmctrl und xdotool: https://www.reddit.com/r/kde/comments/b0k01e/start_application_at_login_minimized/ |
| | + | |
| | + | Linux wäre nicht Linux, wenn es nicht noch einen zweiten Weg gäbe (hier devilspie): http://www.webupd8.org/2011/02/how-to-start-applications-minimized.html |
| | + | |
| | + | === Grafische Fernsteuerung === |
| | + | |
| | + | Siehe [[Remote Desktop]] |
| | + | |
| | + | == Multimedia == |
| | + | * Siehe [[Multimedia]] |
| | + | ** [[Plattformübergreifende Software#Multimedia]] |
| | + | |
| | + | === Audio === |
| | + | |
| | + | Siehe auch [[Audio#Linux%20und%20Audio]] |
| | + | |
| | + | Siehe auch [[Videotelefonie]] |
| | + | |
| | + | === Videos === |
| | + | |
| | + | |
| | + | Siehe auch [[Fotografie#Film_und_Video]] |
| | + | |
| | + | ==== Abspielen ==== |
| | + | Die Versorgung mit Codecs ist unter Linux ein - lösbares - Problem. Z.B. hilft die [[plattformübergreifend]]e Software [[VLC]]. |
| | + | |
| | + | Ein Projekt namens [http://abock.org/2009/02/11/announcing-moonshine-the-project-never-formerly-known-as-pornilus/ Moonshine] ermöglicht unter Linux Windows Media Content mit Original-Microsoft-Codecs abzuspielen. Es nutzt dazu [[Moonlight]]. |
| | + | |
| | + | ==== Herunterladen ==== |
| | + | |
| | + | Videos von [[YouTube]] lassen sich mit |
| | + | youtube-dl -t http://www.youtube.com/watch?v=j09hpp3AxIE |
| | + | herunterladen. Dabei ist die anzugebende URL diejenige, die man im Browser-Adressfeld beim Surfen auf youtube findet. |
| | + | |
| | + | Wenn der Download nicht funktioniert, hilft wahrscheinlich ein Update |
| | + | youtube-dl -U |
| | + | |
| | + | ==== TV ==== |
| | + | |
| | + | Neben Projekten wie |
| | + | * [[VDR]] |
| | + | * [[MythTV]] |
| | + | * [[XBMC]], nun [[Kodi]] |
| | + | ** auch mit [http://linux.mjnet.eu/post/804/xbmc-pvr-tvheadend-ubuntu-12-04-install/ tvheadend] |
| | + | |
| | + | gibt es auch Konsolenprogramme: |
| | + | * [[ttv]] |
| | + | * [[fbtv]] - bietet TV im [[FrameBuffer]] |
| | + | |
| | + | Für den Electronic Program Guide - EPG gibt es |
| | + | |
| | + | * [http://sourceforge.net/projects/tvbrowser/ den TV-Browser], freie [[Java]]-Programmzeitschrift mit Aufzeichnungs-Plugin [[SimplePVR]] |
| | + | |
| | + | Wichtig ist, dass der den TV-Stick nutzende User der Gruppe <code>video</code> zugeordnet ist, z.B. für den [[Tvheadend]]-Nutzer: |
| | + | sudo adduser hts video |
| | + | |
| | + | Die Pakete dvbsnoop, dvb-apps, dvb-tools und w-scan bieten Werkzeuge, um die Einrichtung von DVB-C-Adaptern zu debuggen. |
| | + | Beispielsweise lässt sich mit |
| | + | dvb-fe-tool -d DVBC/ANNEX_A |
| | + | der ein DVB-T/C-Adapter auf DVB-C umschalten. |
| | + | |
| | + | |
| | + | Siehe auch [[DVB-C]] |
| | + | |
| | + | === Webcam === |
| | + | |
| | + | * Einfach Bilder von der [[Shell]] aufnehmen geht mit dem Paket [http://ubuntu.online02.com/node/25 streamer]: |
| | + | sudo aptitude install streamer |
| | + | streamer -f jpeg -o test.jpeg |
| | + | |
| | + | * Alternativen sind [http://tldp.org/HOWTO/Webcam-HOWTO/framegrabbers.html camE etc.] |
| | + | |
| | + | === Videotelefonie === |
| | + | ==== Skype ==== |
| | + | [[Videotelefonie]] funktioniert auch unter [[Linux]], z.B. mit [[Skype]], auch wenn man zur Vermeidung von Abstürzen noch [http://dark.asengard.net/blog/2009/04/17/avoid-skype-crash-with-video-conversation-on-linux/ Workarounds] benötigt. |
| | + | |
| | + | * [https://help.ubuntu.com/community/SkypeTroubleshooting Skype Troubleshooting] für [[Ubuntu]] |
| | + | * [http://blogs.skype.com/linux/ Skype for Linux Blog] |
| | + | |
| | + | ==== Alternativen ==== |
| | + | Wer nur telefonieren will, findet [http://www.easylinux.de/Artikel/ausgabe/2006/06/026-skype/ freie Alternativen], die das [[SIP]]-Protokoll nutzen. |
| | + | |
| | + | Alternativen auch mit Video scheinen |
| | + | * [https://bigbluebutton.org/ BigBlueButton] |
| | + | * [https://jitsi.org/ Jitsi] |
| | + | ** [https://jitsi.org/jitsi-meet/ Jitsi Meet] kann sofort (ohne Registrierung) auf https://meet.jit.si/ ausprobiert werden. |
| | + | * https://opentalk.eu/de |
| | + | * [https://www.golem.de/news/aus-dem-verlag-odin-rooms-macht-videocalls-sicher-und-klar-2409-188992.html Odin Rooms] |
| | + | zu sein. |
| | + | |
| | + | Bekannte kommerzielle Alternativen zum veralteten Skype sind |
| | + | * Microsoft Teams |
| | + | * Cisco Webex |
| | + | * Zoom |
| | + | |
| | + | === Digitalkameras unter Linux === |
| | + | * Siehe dazu den Beitrag unter [http://www.pro-linux.de/berichte/digitalkameras.html Pro-Linux.de] |
| | + | * [http://www.linuxdevcenter.com/pub/a/linux/2005/01/06/digicam.html Anleitung] für die Nutzung einer Kodak-Kamera |
| | + | * [http://www.linuxnetmag.com/de/issue6/m6gphoto1.html Anleitung] für die Nutzung von [http://www.gphoto.org gphoto] |
| | + | * [http://m4l.berlios.de/pub/Main/HowTo/DE-DIGITALKAMERA-HOWTO.html Digitalkamera HOWTO] (noch für den Kernel 2.4) |
| | + | * Weitere Links: |
| | + | ** http://blog.chip.de/chip-linux-blog/digitalkameras-fotografie-unter-linux-20070521/ |
| | + | ** http://www.multimedia4linux.de/cameramodule.html |
| | + | ** http://www.gphoto.org/cameras.html |
| | + | ** http://www.qbik.ch/usb/devices/ |
| | + | |
| | + | === Bildanzeige === |
| | + | |
| | + | In den graphischen Desktop-Umgebungen ist die Anzeige von Bildern selbstverständlich kein Problem. |
| | + | |
| | + | Aber es gibt auch Möglichkeiten auf der Konsole: |
| | + | |
| | + | * [[fbi]] - benutzt Linux Frame Buffer System |
| | + | ** [http://linuxers.org/howto/howto-open-images-linux-console-using-fbi-console-based-image-viewer Howto für FBI]] |
| | + | * [[xli]] |
| | + | * [[xloadimage]] benötigt [[X]] |
| | + | * [[xwud]] bedarf einer [[X]]-Umgebung |
| | + | * [[xzgv]] benötigt [[X]], hat angeblich gute Tastaturunterstützung |
| | + | |
| | + | === Bildbearbeitung === |
| | + | Siehe |
| | + | * [[Fotografie]] |
| | + | * [[GIMP]] |
| | + | * [[pixelize]] - ein Programm, mit dem man ein größeres Bild aus unzähligen kleineren Bildern zusammensetzen kann |
| | + | |
| | + | ==== ImageMagick ==== |
| | + | Auf der Kommandozeile unter Linux helfen die Tools von ImageMagick: |
| | + | * [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2012/08/Bildbearbeitung-mit-ImageMagick Anleitung auf LINUX-Community] |
| | + | |
| | + | Beispielsweise lassen sich mit folgendem Befehl Bilder als Kacheln auf einem neuen Bild getrennt mit einem transparenten Rahmen darstellen: |
| | + | |
| | + | montage -monitor -resize x200+0+0 -crop 300x200+20+0 -geometry 200x200+50+50 -background transparent bilder*.jpg uebersicht.png |
| | + | |
| | + | === Bildinformationen === |
| | + | Mit den [http://exiflow.sourceforge.net/wiki/Main_Page Exiflow-Tools] können Bilddateien einfach gemäß dem Erstellungsdatum umbenannt werden. |
| | + | |
| | + | Mit [http://www.exiv2.org/index.html exiv2] lässt sich auf der Kommandozeile die Informationen eines Bildes auswerten. |
| | + | |
| | + | Auch [[exiftags]] und [[exif]] bieten die Informationen aus dem EXIF-Teil des JPEG-Bilds über die Kommandozeile an. |
| | + | |
| | + | ==== Aufnahmedatum in Dateinamen ==== |
| | + | Schließlich bietet auch [http://www.sentex.net/~mwandel/jhead/ jhead] ([http://linux.die.net/man/1/jhead man-page]) alle textuellen Informationen. Dieses Programm läuft nicht nur unter Linux, sondern auch unter Windows. Ein [http://www.guckes.net/augsburg2006/bildbearbeitung_auf_der_console.txt Verwendungsbeispiel]: |
| | + | jhead -nfhm%04Y.%02m.%02d-%H%M%S.%f *.jpg |
| | + | Das macht aus der Datei p104711.jpg z.B. hm2007,11,12-110048.p104711.jpg. |
| | + | |
| | + | In den OpenSuse-Forums findet sich ein [http://forums.opensuse.org/archives/sf-archives/archives-programming-scripting/335342-rename-files-using-creation-date.html Shell-Skript zum Umbenennen von Movies (.MOV)] basierend auf dem Dateimodifikationsdatum. Damit lässt sich obiger jhead-Befehl nachbilden (der Unterschied bleibt natürlich, dass nicht das EXIF-Datum, sondern das Dateidatum in den Namen aufgenommen wird): |
| | + | |
| | + | #!/bin/sh |
| | + | for file in ${@}; do |
| | + | if [ -e $file ]; then |
| | + | timestamp=`ls -l --time-style=+%Y.%m.%d-%H%M%S $file |cut -d' ' -f6` |
| | + | newfile="hm$timestamp.$file" |
| | + | echo Aus $file wird $newfile ... |
| | + | mv -v "$file" "$newfile" |
| | + | fi |
| | + | done |
| | + | |
| | + | ==== Geotagging von Fotos ==== |
| | + | |
| | + | Möchte man seine Fotos von einer Kamera ohne GPS-Receiver mit GPS-Daten z.B. aus dem mitgeführten Smartphone aufwerten, dann hilft das exiftool, z.B.: |
| | + | exiftool -api GeoMaxExtSecs=9999 -geotag '*.gpx' images |
| | + | |
| | + | Dieses Beispiel nutzt als Geodaten-Quelle alle Dateien mit der Endung gpx im aktuellen Verzeichnis und versieht alle Bilder im images-Ordner mit den entsprechenden Daten. Siehe dazu näher die [http://www.sno.phy.queensu.ca/~phil/exiftool/geotag.html Beschreibung auf der Projektseite]. |
| | + | |
| | + | Die Geodaten bekommt man z.B. mit der [[Android]] - [[Open Source]]-Software [https://github.com/mendhak/gpslogger gpslogger]. |
| | + | |
| | + | == Fernzugriff == |
| | + | * [[Remote Desktop]] |
| | + | ** [[ssh]] |
| | + | |
| | + | == Drucken == |
| | + | === Allgemeines === |
| | + | * Das CUPS-Drucksystem bietet unter http://localhost:631 eine Web-Verwaltungsoberfläche. |
| | + | * CUPS verwendet das Internet Printing Protocol. Dies kann auch [http://www.heise.de/netze/Ueberall-drucken--/artikel/78252/0 Windows XP anbieten]. |
| | + | * [http://hplipopensource.com/hplip-web/supported_devices/index.html Hewlett-Packard] und [http://solutions.brother.com/linux/en_us/index.html Brother] scheinen recht umfangreichen Linux-Treiber-Support für ihre Drucker zu leisten. Aber auch für [http://avasys.jp/hp/menu000000500/hpg000000442.htm Epson-Drucker] gibt es etliche Treiber. |
| | + | * [http://www.linuxforen.de/forums/showthread.php?t=213560 Überblick über Drucken unter Linux] |
| | + | * Einen Drucker am Linux-Rechner kann man [http://pda-und-co.de/linux/2009/05/03/eee-als-home-server-feste-ip-netzwerkdrucker-per-cups-einrichten/ auch vom Windows-PC als Netzwerkdrucker nutzen] |
| | + | |
| | + | Beim Netzwerk-Server, an den der Drucker angeschlossen ist, muss man den Clients den Zugriff auf den Drucker erlauben: |
| | + | cupsctl --share-printers |
| | + | |
| | + | Von der Shell kann man einen Netzwerkdrucker folgendermaßen zum Client hinzufügen: |
| | + | lpadmin -p "$PRINTER" -E -v "ipp://$SERVER/printers/$PRINTER" |
| | + | wobei man <code>$PRINTER</code> jeweils durch die CUPS-Drucker-Bezeichnung, z.B. "DESKJET-840C" ersetzen muss. |
| | + | |
| | + | Mit |
| | + | lpstat -p -d |
| | + | kann man sich die vorhandenen Drucker anzeigen lassen. |
| | + | |
| | + | Mit |
| | + | lpoptions -d DRUCKER |
| | + | kann man den Standard-Drucker auswählen. |
| | + | |
| | + | |
| | + | Mit |
| | + | lpstat -o -a |
| | + | kann man sich alle noch offenen Druckaufträge anzeigen lassen. |
| | + | |
| | + | Mit |
| | + | lpstat -W completed -o -a |
| | + | kann man sich alle abgeschlossenen Druckaufträge anzeigen lassen. |
| | + | |
| | + | Siehe auch |
| | + | * [http://localhost:631/help/options.html CUPS-Hilfe zu Kommandozeilenbefehlen auf eigenem Rechner] |
| | + | * [[Drucken]] allgemein |
| | + | * https://www.linux-praxis.de/verwaltung-von-druckern-und-druckerwarteschlangen |
| | + | |
| | + | ==== Troubleshooting ==== |
| | + | |
| | + | |
| | + | ===== HP 7740 druckt nicht beidseitig ===== |
| | + | |
| | + | Wenn ein HP OfficeJet Pro 7740 (A3 Tintenstrahler) unter Linux Mint 22.2 keinen beidseitigen Druck anbietet oder beim Drucken einen Fehler meldet, dann kann es daran liegen, dass das HPLIP-System nicht mit dem neueren "driverless" Drucksystem harmoniert. |
| | + | |
| | + | Dann einfach HPLIP deinstallieren. |
| | + | sudo aptitude remove hplip hplip-data libsane-hpaio |
| | + | |
| | + | ===== HP 7740 verschiebt Seiteninhalt ===== |
| | + | |
| | + | Fehler: HP 7740 verschiebt die Seite auf dem Blatt Papier, so dass ein leerer oberer und rechter Rand entsteht. |
| | + | |
| | + | Mögliche Behebung: Avahi auch für IPv6 einstellen. |
| | + | |
| | + | In /etc/nsswitch.conf die folgende Zeile korrigieren: |
| | + | |
| | + | hosts: mymachines '''mdns_minimal''' [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns |
| | + | |
| | + | Das mdns_minimal hat also keine "4" mehr im Namen. |
| | + | |
| | + | Neustart von Avahi mit |
| | + | |
| | + | sudo systemctl restart avahi-daemon.service |
| | + | |
| | + | Der Drucker, der dann automatisch gefunden wird, druckt die Seitenränder richtig. |
| | + | |
| | + | Siehe https://wiki.archlinux.org/title/Avahi |
| | + | |
| | + | ===== CUPS in Docker ===== |
| | + | |
| | + | https://hub.docker.com/r/olbat/cupsd |
| | + | |
| | + | ===== Drucker deaktiviert sich von selbst ===== |
| | + | |
| | + | Um zu vermeiden, dass man jedes Mal den Drucker wieder auf "aktiviert" stellen muss, fügt man in der Datei <code>/etc/cups/printer.conf</code> die Zeile |
| | + | ErrorPolicy retry-job |
| | + | hinzu. Siehe |
| | + | * https://debianforum.de/forum/viewtopic.php?t=126837 |
| | + | |
| | + | === Driverless Printing === |
| | + | |
| | + | Seit ca. 2020 wird die Linux-Druckerunterstützung auf "treiberlos" (driverless) umgestellt. |
| | + | Stattdessen werden sowohl für Windows als auch für Linux verwendbare PPD-Dateien genutzt. |
| | + | |
| | + | Grundsätzlich gehen diese PPD-Dateien einem eigenen Treiber für Linux vor. |
| | + | |
| | + | Siehe |
| | + | * https://linuxmint-user-guide.readthedocs.io/en/latest/printers.html |
| | + | |
| | + | ==== AirPrint ==== |
| | + | |
| | + | Siehe |
| | + | * https://wiki.debian.org/CUPSAirPrint |
| | + | * https://www.linux-magazine.com/Online/Features/AirPrint |
| | + | * Möglicherweise ist es ja auch ein Problem der Auflösung des .local-Druckers: |
| | + | ** https://discussion.fedoraproject.org/t/avahi-isnt-being-used-to-resolve-local-domain-names/69798/8 |
| | + | * https://forum.linuxguides.de/index.php?thread/12629-howto-airprint-drucker-installieren-no-driver-no-ppa-no-aur/ |
| | + | |
| | + | === cups pki invalid === |
| | + | |
| | + | Wenn beim Drucken unter Linux der Fehler "cups-pki-invalid" erscheint, liegt das möglicherweise an einem nicht aktualisierten Zertifikat des Druckers auf dem Rechner. |
| | + | |
| | + | Die Zertifikate finden sich in <code>/etc/cups/ssl</code> und lassen sich mit |
| | + | sudo /etc/cups/ssl |
| | + | anzeigen. |
| | + | |
| | + | Zur Fehlerbehebung löscht man die entsprechende <code>.crt</code>-Datei: |
| | + | sudo /etc/cups/ssl/$DATEI_MIT_ENDUNG_CRT |
| | + | |
| | + | Dann muss man noch cups neustarten: |
| | + | sudo systemctl restart cups.service |
| | + | |
| | + | Jetzt sollte das Drucken wieder funktionieren. |
| | + | |
| | + | |
| | + | |
| | + | Zu cups pki invalid siehe |
| | + | |
| | + | * https://ryansouthgate.com/cups-pki-invalid-printing-error/ |
| | + | |
| | + | === Xerox Drucker === |
| | + | |
| | + | Siehe [[Xerox_C325]] |
| | + | |
| | + | === HP-Drucker === |
| | + | |
| | + | HP bietet mit HPLIP eine Open Source - Unterstützung für Linux. |
| | + | |
| | + | Falls HPLIP-Status sich wegen eines fehlenden Systray meldet, sollte man auf das GNOME-Panel gehen, rechts klicken -> "Zum Panel hinzufügen " -> "Benachrichtigungsfeld" wählen |
| | + | |
| | + | Um einen HP-All-In-One-Drucker/Scanner wie der [[HP OfficeJet 8600 Pro Plus]] im Netzwerk zu installieren, startet man als Root |
| | + | hp-setup -i |
| | + | und wählt 2 für <code>net</code> aus. |
| | + | |
| | + | ==== HP OfficeJet Pro 7740 ==== |
| | + | |
| | + | Jedenfalls im Zusammenspiel mit Linux hat der HP OfficeJet Pro 7740 nicht die Qualität und Zuverlässigkeit des HP OfficeJet 8600 Pro Plus. |
| | + | |
| | + | Aber er funktioniert, wenn nicht mal wieder ein Firmware-Update das Zusammenspiel mit Linux oder Windows zerschießt. |
| | + | |
| | + | Nach dem letzten Firmware-Update konnten manche Linux-Systeme den Drucker nicht finden. Bei den Systemen mit Ubuntu 24.04 musste der Drucker manuell eingerichtet werden. Beim Drucker hinzufügen musste man folgende URL angeben: |
| | + | ipps://hpofficejet.fritz.box:443/ipp/print |
| | + | |
| | + | Dann hplip bzw. hpcups auswählen. Dann funktioniert es manchmal. |
| | + | |
| | + | Allerdings nicht überall. Dann kann man versuchen, die o.a. ipp-Adresse zu nutzen und den Drucker als generischen PCL-Drucker anzulegen. Ich habe als Marke '''"Generic"''' gewählt und als Modell '''"PCL 6/PCL XL"'''' und als Treiber '''"Generic ... /hpijs-pcl5e"''' (Ubuntu 24.04). Dann geht es aber nur schwarzweiß und nur in A4. Außerdem musste ich hpijs installieren: |
| | + | |
| | + | sudo aptitude install printer-driver-hpijs hpijs-ppds |
| | + | |
| | + | === Brother === |
| | + | |
| | + | Die Installation von Brother-Drucker wird seitens Brother mit eigenständigen rpm- bzw- deb-Paketen unterstützt. |
| | + | |
| | + | Bei der Installation des Brother MFC-260C unter Linux Mint 17 32bit bedarf es folgender Schritte nach dem Download der DEB-Files vom [http://support.brother.com/g/s/id/linux/en/instruction_prn1a.html?c=us_ot&lang=en&redirect=on Brother Solutions Center]: |
| | + | |
| | + | sudo mkdir /var/spool/lpd |
| | + | sudo chgrp lp /var/spool/lpd |
| | + | sudo dpkg -i mfc260clpr-1.0.1-1.i386.deb |
| | + | sudo dpkg -i mfc260ccupswrapper-1.0.1-1.i386.deb |
| | + | |
| | + | Außerdem sollte der Benutzer in der Gruppe <code>lp</code> sein. |
| | + | |
| | + | Auf 64bit-Systemen müssen zusätzlich die Pakete ia32libs und libstdc++ installiert sein. |
| | + | |
| | + | == Scannen == |
| | + | |
| | + | === UI fürs Scannen === |
| | + | |
| | + | * [https://gitlab.gnome.org/GNOME/simple-scan simple-scan oder GNOME Document Scanner] |
| | + | * [https://wiki.ubuntuusers.de/gImageReader/ gImageReader], arbeitet für OCR mit Tesseract |
| | + | * gscan2pdf |
| | + | * [https://github.com/sbs20/scanservjs ScanServJs] |
| | + | |
| | + | === Scanner im Netzwerk === |
| | + | |
| | + | Siehe die Anleitung zum [http://wiki.ubuntuusers.de/SANE-Scanserver_im_Netzwerk Scannen im Netzwerk unter Ubuntu]. |
| | + | |
| | + | Zusätzlich muss noch in <code>/etc/default/saned</code> der Start von Saned eingestellt werden: |
| | + | |
| | + | RUN=yes |
| | + | |
| | + | |
| | + | === Scannen und OCR === |
| | + | |
| | + | Mit Hilfe von scanimage und tesseract lassen sich auch PDFs mit per OCR erkanntem (überlagerndem) Text erstellen. |
| | + | |
| | + | Das Projekt [https://openpaper.work/de/ Paperwork] bietet auf dieser Basis eine Volltextsuche über sämtliche gescannten Dokumente. Die Installation hat bei mir gut über [[AppImage]] funktioniert. Siehe die [https://openpaper.work/de/download/linux#appimage Anleitung auf der Projekt-Seite]. |
| | + | |
| | + | === Einzelne Scanner === |
| | + | |
| | + | ==== Scanner '''Mustek 1200 UB Plus''' ==== |
| | + | |
| | + | Für den Scanner '''Mustek 1200 UB Plus''' ist neben einer SANE-Installation einschließlich des [http://www.meier-geinitz.de/sane/gt68xx-backend/index.html gt68xx-Backends] (bei OpenSuse 10.3 automatisch) noch Folgendes zu tun: |
| | + | * Verzeichnis für Firmware anlegen |
| | + | sudo mkdir -p /usr/share/sane/gt68xx |
| | + | * Die Firmware-Datei [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb] herunterladen und im Verzeichnis <code>/usr/share/sane/gt68xx</code> speichern sowie |
| | + | * Von der bisher in der Datei <code>/etc/sane.d/gt68xx.conf</code> enthaltene Zeile |
| | + | #override "mustek-scanexpress-1200-ub-plus" |
| | + | das führende Kommentarzeichen (#) entfernen. <small>Ansonsten wird der Scanner fälschlicherweise als Mustek BearPaw 1200 CU erkannt.</small> |
| | + | * Das erkannte Scanner-Modell kann man sich ausgeben lassen: |
| | + | scanimage -L |
| | + | * Mit der Anwendung <code>xsane</code> kann man dann scannen. |
| | + | |
| | + | ==== Brother MFC 260C ==== |
| | + | |
| | + | Das Multifunktionsgerät Brother MFC 260 C lässt sich [http://ubuntuforums.org/showthread.php?t=590793 sowohl als Scanner als auch als Drucker] unter Linux einrichten. Dazu ist der Treiber brscan2 von [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_scn.html Brother herunterzuladen]. |
| | + | |
| | + | Für neuere Ubuntu / Linux Mint 64 bit -Versionen müssen symbolische Links angelegt werden:<ref>Vgl. https://wiki.ubuntuusers.de/Scanner/Brother/#Scanner-Treiber-ab-Bionic-Beaver-18-04-64-Bit</ref> |
| | + | |
| | + | sudo ln -sf /usr/lib64/sane/libsane-brother* /usr/lib/x86_64-linux-gnu/sane |
| | + | sudo ln -sf /usr/lib64/libbrcolm* /usr/lib/x86_64-linux-gnu |
| | + | sudo ln -sf /usr/lib64/libbrscandec* /usr/lib/x86_64-linux-gnu |
| | + | |
| | + | |
| | + | Bei manchen Rechnern funktionieren die Treiber für den Brother MFC-260C nicht mit USB 3.0. Dann muss USB 3.0 im BIOS deaktiviert werden, so dass die Ports als USB 2.0-Ports genutzt werden können. |
| | + | |
| | + | === Scannen in verschiedenen Distributionen === |
| | + | ==== OpenSuse ==== |
| | + | * Mit dem Scanner-Modul von yast kann man die korrekte Installation testen. |
| | | | |
| − | == Scannen == | + | ==== Debian ==== |
| | + | * Unter [[Debian]] |
| | + | ** ist neben der Installation von <code>xsane</code> auch die Installation von <code>sane-utils</code> erforderlich. |
| | + | ** Außerdem muss der jeweilige Benutzer Mitglied der Gruppe <code>scanner</code> oder aber der Gruppe <code>lp</code><ref>Vgl. https://www.linuxquestions.org/questions/slackware-14/sane-and-usb-permission-4175421150/</ref> sein. |
| | | | |
| − | === Scanner im Netzwerk === | + | ==== Ubuntu ==== |
| | + | '''Achtung wohl veraltet''' |
| | + | * Unter [[Ubuntu]] benötigt man jedenfalls in 9.10 Karmic Koala folgende Zeile in <code>/etc/fstab</code>: |
| | + | none /proc/bus/usb usbfs auto 0 0 |
| | | | |
| − | Siehe die Anleitung zum [http://wiki.ubuntuusers.de/SANE-Scanserver_im_Netzwerk Scannen im Netzwerk unter Ubuntu].
| + | Evtl. funktioniert auch |
| | + | none /proc/bus/usb usbfs auto,devmode=0666 0 0 |
| | | | |
| − | Zusätzlich muss noch in <code>/etc/default/saned</code> der Start von Saned eingestellt werden:
| |
| | | | |
| − | RUN=yes | + | * Ob die Zeile funktioniert lässt sich mit mount testen: |
| | + | sudo mount -a |
| | | | |
| | + | * Damit man auch als normaler User auf den Scanner zugreifen kann,<ref>http://www.ubuntu-forum.de/artikel/41977/scanner-wird-als-user-nicht-erkannt-nur-als-root.html</ref> kreiert man mit |
| | + | sudo joe /etc/udev/rules.d/40-basic-permissions.rules |
| | + | (oder irgendeinem anderen Editor) eine Datei mit folgendem Inhalt |
| | + | # USB devices (usbfs replacement) |
| | + | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666" |
| | + | SUBSYSTEM=="usb_device", MODE="0666" |
| | | | |
| − | === Scannen und OCR ===
| + | Anschließend muss man das udev-System neustarten: |
| | + | sudo restart udev |
| | | | |
| − | Mit Hilfe von scanimage und tesseract lassen sich auch PDFs mit per OCR erkanntem (überlagerndem) Text erstellen.
| + | Hinweis: Auf [http://wiki.ubuntuusers.de/Scanner#USB ubuntuusers.de] findet sich eine davon leicht abweichende Möglichkeit für das Scannen als normaler User. |
| | + | Hinweis 2: Für Ubuntu 9.10 muss man es wohl inzwischen [http://forum.ubuntuusers.de/topic/probleme-mit-scanner-seit-karmic-9-10/ anders machen]. |
| | | | |
| − | === Einzelne Scanner === | + | == Energiemanagement == |
| | | | |
| − | ==== Scanner '''Mustek 1200 UB Plus''' ==== | + | === Akku === |
| | + | Mit <code>upower</code> kann man sich den Stand des Akkus anzeigen lassen.<ref>Siehe http://askubuntu.com/questions/69556/how-to-check-battery-status-using-terminal .</ref> |
| | + | |
| | + | upower -i /org/freedesktop/UPower/devices/battery_BAT0 |
| | | | |
| − | Für den Scanner '''Mustek 1200 UB Plus''' ist neben einer SANE-Installation einschließlich des [http://www.meier-geinitz.de/sane/gt68xx-backend/index.html gt68xx-Backends] (bei OpenSuse 10.3 automatisch) noch Folgendes zu tun:
| + | Den Pfad für das oben angegebene Kommando findet man durch |
| − | * Verzeichnis für Firmware anlegen
| + | upower -e |
| − | sudo mkdir -p /usr/share/sane/gt68xx
| |
| − | * Die Firmware-Datei [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb] herunterladen und im Verzeichnis <code>/usr/share/sane/gt68xx</code> speichern sowie
| |
| − | * Von der bisher in der Datei <code>/etc/sane.d/gt68xx.conf</code> enthaltene Zeile
| |
| − | #override "mustek-scanexpress-1200-ub-plus"
| |
| − | das führende Kommentarzeichen (#) entfernen. <small>Ansonsten wird der Scanner fälschlicherweise als Mustek BearPaw 1200 CU erkannt.</small> | |
| − | * Das erkannte Scanner-Modell kann man sich ausgeben lassen:
| |
| − | scanimage -L | |
| − | * Mit der Anwendung <code>xsane</code> kann man dann scannen.
| |
| | | | |
| − | ==== Brother MFC 260C ====
| + | Eine komplette Übersicht erhält man mit |
| | + | upower --dump |
| | | | |
| − | Das Multifunktionsgerät Brother MFC 260 C lässt sich [http://ubuntuforums.org/showthread.php?t=590793 sowohl als Scanner als auch als Drucker] unter Linux einrichten. Dazu ist der Treiber brscan2 von [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_scn.html Brother herunterzuladen].
| + | === Festplatte im Leerlauf ausschalten === |
| | | | |
| − | === Scannen in verschiedenen Distributionen ===
| + | Siehe |
| − | ==== OpenSuse ====
| + | * https://www.foxplex.com/sites/festplatten-standby-im-leerlauf-mit-hdparm-und-hd-idle/ |
| − | * Mit dem Scanner-Modul von yast kann man die korrekte Installation testen. | |
| | | | |
| − | ==== Debian ==== | + | === Energieverbrauch minimieren === |
| − | * Unter [[Debian]] | + | Zur Ermittlung der Verbraucher helfen |
| − | ** ist neben der Installation von <code>xsane</code> auch die Installation von <code>sane-utils</code> erforderlich. | + | * [http://manpages.ubuntu.com/manpages/focal/man8/powerstat.8.html powerstat] |
| − | ** Außerdem muss der jeweilige Benutzer Mitglied der Gruppe <code>scanner</code> sein. | + | * [https://01.org/sites/default/files/page/powertop_users_guide_201412.pdf powertop] |
| | + | ** https://wiki.ubuntuusers.de/PowerTOP/ |
| | + | ** https://www.admin-magazin.de/Das-Heft/2011/02/Energiefresser-unter-Linux-mit-PowerTOP-enttarnen/(offset)/2 |
| | | | |
| − | ==== Ubuntu ====
| + | Siehe |
| − | '''Achtung wohl veraltet'''
| + | * http://www.thinkwiki.org/wiki/How_to_reduce_power_consumption |
| − | * Unter [[Ubuntu]] benötigt man jedenfalls in 9.10 Karmic Koala folgende Zeile in <code>/etc/fstab</code>: | + | * https://metebalci.com/blog/a-minimum-complete-tutorial-of-cpu-power-management-c-states-and-p-states/ |
| − | none /proc/bus/usb usbfs auto 0 0
| |
| | | | |
| − | Evtl. funktioniert auch
| + | == Verbindung mit Handy/PDA == |
| − | none /proc/bus/usb usbfs auto,devmode=0666 0 0
| |
| | | | |
| | + | * [[Synchronisation Web-PC-Handy]] |
| | + | ** [[Sony Ericsson K800i]] |
| | + | *** [[Sony Ericsson K800i über Bluetooth an Linux-PC]] |
| | + | * [[Synchronisation unter Linux]] |
| | | | |
| − | * Ob die Zeile funktioniert lässt sich mit mount testen:
| + | == Weitere Anwendungen == |
| − | sudo mount -a
| |
| | | | |
| − | * Damit man auch als normaler User auf den Scanner zugreifen kann,<ref>http://www.ubuntu-forum.de/artikel/41977/scanner-wird-als-user-nicht-erkannt-nur-als-root.html</ref> kreiert man mit
| + | === Editoren === |
| − | sudo joe /etc/udev/rules.d/40-basic-permissions.rules
| |
| − | (oder irgendeinem anderen Editor) eine Datei mit folgendem Inhalt
| |
| − | # USB devices (usbfs replacement)
| |
| − | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
| |
| − | SUBSYSTEM=="usb_device", MODE="0666"
| |
| − | | |
| − | Anschließend muss man das udev-System neustarten:
| |
| − | sudo restart udev
| |
| − | | |
| − | Hinweis: Auf [http://wiki.ubuntuusers.de/Scanner#USB ubuntuusers.de] findet sich eine davon leicht abweichende Möglichkeit für das Scannen als normaler User.
| |
| − | Hinweis 2: Für Ubuntu 9.10 muss man es wohl inzwischen [http://forum.ubuntuusers.de/topic/probleme-mit-scanner-seit-karmic-9-10/ anders machen].
| |
| − | | |
| − | == Energiemanagement ==
| |
| | | | |
| − | Mit <code>upower</code> kann man sich den Stand des Akkus anzeigen lassen.<ref>Siehe http://askubuntu.com/questions/69556/how-to-check-battery-status-using-terminal .</ref>
| + | ==== Grafische Editoren und Entwicklungsumgebungen ==== |
| − |
| |
| − | upower -i /org/freedesktop/UPower/devices/battery_BAT0
| |
| | | | |
| − | Den Pfad für das oben angegebene Kommando findet man durch
| + | * Geany |
| − | upower -e
| + | * [[Netbeans]] |
| | + | * [[Eclipse]] |
| | | | |
| − | == Verbindung mit Handy/PDA == | + | ==== Editoren fürs Terminalfenster ==== |
| | | | |
| − | * [[Synchronisation Web-PC-Handy]] | + | * [[vim]] |
| − | ** [[Sony Ericsson K800i]] | + | * nano |
| − | *** [[Sony Ericsson K800i über Bluetooth an Linux-PC]] | + | * joe - Benutzerführung wie MS WordStar (etwas antiquiert) |
| − | * [[Synchronisation unter Linux]] | + | * emacs |
| | | | |
| − | == Weitere Anwendungen == | + | === Textverarbeitung === |
| | | | |
| | + | Die Standard-Textverarbeitung unter Linux ist derzeit [[LibreOffice]] Writer. |
| | | | |
| | === Plattformübergreifende Software === | | === Plattformübergreifende Software === |
| Zeile 1.417: |
Zeile 2.245: |
| | * [http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page FreeCAD] ([[OpenSource]]) | | * [http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page FreeCAD] ([[OpenSource]]) |
| | ** [http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Draft_tutorial Einstiegstutorial] | | ** [http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Draft_tutorial Einstiegstutorial] |
| − | | + | * [[OpenSCAD]] - a simple CAD application based on scripts |
| | | | |
| | === Business Software === | | === Business Software === |
| | | | |
| | * [http://www.linux-community.de/Internal/Artikel/Online-Artikel/Versuch-einer-Entscheidungshilfe-fuer-die-richtige-Linux-Unternehmenssoftware Überblick über Linux-Business-Software] | | * [http://www.linux-community.de/Internal/Artikel/Online-Artikel/Versuch-einer-Entscheidungshilfe-fuer-die-richtige-Linux-Unternehmenssoftware Überblick über Linux-Business-Software] |
| | + | |
| | * Ein weiteres [[DMS]] ist [http://www.archivista.ch/de/pages/support/installation.php Archivista] | | * Ein weiteres [[DMS]] ist [http://www.archivista.ch/de/pages/support/installation.php Archivista] |
| | + | |
| | + | Siehe auch |
| | + | * [[Informationstechnik#Dokumentenmanagementsystem]] |
| | | | |
| | === Groupware-Server === | | === Groupware-Server === |