Linux-Tipps

Aus CodicaTipps
Zur Navigation springen Zur Suche springen

Siehe oldCt:Linux-Tipps

Linux und andere Betriebssysteme

Betriebssystemvergleich

Plattformübergreifende Software

Zusammenarbeit mit Windows

  • Einige Linux-Anwendungen laufen durch CygWin auch unter Windows. Neben dem graphischen windows-typischen Installer kann nach der Erstinstallation auch das apt-get-ähnliche Skript apt-cyg zur Paketverwaltung genutzt werden.
  • GnuWin32 bietet ebenfalls etliche Linux-Kommandozeilenprogramme. Diese bauen direkt auf den Windows-Bibliotheken auf. Sie sind daher einfacher als die CygWin-Utilities zu handhaben; allerdings ist CygWin umfangreicher und bietet z.B. eine Bash-shell und einen X-Server.
  • LTools erlaubt den Zugriff auf ext2/ext3-Partitionen von der Kommandozeile oder mittels einer Java- oder Web-GUI. Eine graphisches Tool zum Lesen von ext2-/ext3-Partitionen ist auch explore2fs. Noch weiter gehen fs-driver und ext2fsd: sie bieten Treiber für ext2-Partitionen. Letzteres läuft auch unter Windows Vista.

Dokumentation

Anleitungen

  • Linux-Handbuch, ein kostenloses Onlinebuch zu Linux von Galileo.
  • Das Linux-Kompendium ist auf wikibooks.org als freies umfangreiches Nachschlagewerk zu Linux erschienen.

man-Pages

Die sog. man-pages sind DIE Informationsquelle eines Linux-Systems. Sie finden sich auch im World Wide Web (z.B. bei UNIX-Help und manpages.com).

Die man-pages befinden sich in verschiedenen Kategorien, die innerhalb der man-pages durch eine in Klammern an die Bezeichnung angehängte Zahl gekennzeichnet wird. Beim Aufruf von man steht dagegen die Section-Nr VOR der Bezeichnung. Die Einführungen finden sich z.B. durch

 man x intro

wobei x eine Zahl zwischen 1 und 9 ist.

Regelmäßige Publikationen

  • RadioTux liefert PodCasts rund um Linux.
  • Uptimes - Mitgliederzeitschrift der German Unix User Group

Distributionen

Allgemeines

  • SLAX ist eine auf Slackware basierende Live-CD, die selbst bei denjenigen alten PCs den Netzwerkadapter ansprechen kann, wo OpenSuse, Knoppix sowie Debian versagen.
    • OpenSuse ist das von Novell unterstützte freie Linux. Proprietäre (und trotzdem kostenlose) Anwendungen können über andere Installationsquellen nachgeladen werden.
      • Der Linux-Club bietet ein gutes Wiki rund um OpenSuse.
      • Beim Update von OpenSuse 10.1 auf 10.2 könnte es Probleme mit der Druckerinstallation geben: Dann einfach /var/lib/YaST2/ppd_db.ycp löschen.[1]
      • Siehe auch Installation von OpenSuse über PXE.
      • Das GNOME-Frontend für Vorlage:Su (starten von Programmen als Root) heißt unter OpenSuse gnomesu und nicht wie sonst meist üblich gksu. Die Entsprechung unter KDE heißt kdesu.
  • Auch Debian lässt sich übers Netzwerk/PXE installieren.
  • Auch Knoppix lässt sich über PXE installieren. Siehe
  • Arch Linux ist offiziell eine schlanke, ständig aktuelle Linux-Distribution (PXE-Installation möglich).
  • andLinux ist eine Linux-Distribution, die unter Windows 2000, XP etc. läuft. Sie basiert auf coLinux.
  • Eine Distribution, die Wert auf Flexibilität und Anpassungsfähigkeit liegt, ist Gentoo.
  • Sugar, hervorgegangen aus dem One Laptop Per Child-Projekt, ist ein Linux-System für Kinder.

Ubuntu

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.

Schnellstart-Linux

Router mit Linux

Siehe Router

Linux im Browser

bellard.org/jslinux

Installation

Installation von Linux auf Laptops

Installation eines Servers im Internet

Siehe Root-Server

Umzug auf andere Festplatte/Partition

Will man sein Linux auf eine andere Festplatte umziehen, nimmt man eine LiveCD und gibt in der Shell ein (bei Umzug von erster auf zweite Partition):

 dd if=/dev/sda1 of=/dev/sda2

Wenn die neue Partition größer ist (kleiner geht nicht), dann muss auch noch das Dateisystem angepasst werden (funktioniert jedenfalls bei einem ext3-Dateisystem):

 resize2fs /dev/sda2

Siehe iX-Artikel Möbelpacker.

Paketmanagement

Die großen Distributionen sind entweder Debian-basiert (mit .DEB-Paketen) oder nutzen das Redhat Package Manager-Format (.RPM; z.B. OpenSuse).

RPM

  • Das RPM-Buch bietet eine Anleitung zum "Redhat Package Manager" inklusive dem Bau von Paketen.

Sound

Siehe Audio#Linux und Audio

Zum Einrichten des Sounds hilft

 alsaconf

(De-)Installation von Programmen aus dem Quelltext

Patch und diff

Bootvorgang

Bootloader

GRUB

Installation

Den Bootloader GRUB2 auf allen Platten installieren:

 sudo grub-install /dev/sda
 sudo grub-install /dev/sdb
GRUB über PXE starten

GRUB lässt sich auch über PXE starten

Das ist quasi der umgekehrte Fall des Startens von PXE mittels GRUB (im wesentlichen über "root (nd)").

Konfiguration in /etc/grub.d/

Beim neuen GRUB-Bootloader (GRUB 2) wird die Konfiguration nicht mehr über die Datei /boot/grub/menu.lst, sondern über /etc/default/grub sowie über Skripte in /etc/grub.d/. Beispiel für ein Skript /etc/grub.d/08_meinEintrag:

 #!/bin/sh -e
 echo "Füge meine eigenen Menüeinträge hinzu" >&2
 cat << EOF
 menuentry "MeinLinux" {
   insmod ext2
   set root='(hd0,1)'
   linux /boot/vmlinuz-2.6.32-32-generic root=/dev/sda ro quiet splash
   initrd /boot/initrd.img-2.6.32-32-generic
 }
 EOF

Die Zahl 08 am Beginn des Dateinamens sorgt dafür, dass es vor dem Skript 10_linux ausgeführt wird und die eigenen Menüeinträge oben im Grub-Menü erscheinen. Wichtig ist, dass die Datei ausführbar wird:

 sudo chmod +x /etc/grub.d/08_meinEintrag

Der echo-Befehl im Skript wird auf die Error-Ausgabe (&2) umgeleitet und landet nicht in /boot/grub/grub.cfg beim Ausführen von update-grub. Der Text zwischen EOF und EOF landet dagegen 1:1 in /boot/grub/grub.cfg. Hier kann man also experimentieren.

Der Befehl set setzt Umgebungsvariablen, in diesem Fall root, die die Partition mit dem zu startenden Betriebssystem enthält. Die erste Platte heißt hd0, die erste Partition beginnt (seit GRUB2) mit 1; die erste Partition auf der ersten Platte heißt also '(hd0,1)'. Root lässt sich auch mit dem Befehl search setzen.[2]

Für weitere Beispiele sollte man sich die automatisch generierte /boot/grub/grub.cfg anschauen. Dabei kann man alles, was nicht mit menuentry beginnt beim Lesen erst einmal überspringen.

Weiteres Beispiel für einen Menüeintrag
 menuentry 'UbuntuLinux Generic Current auf Platte mit Bezeichnung Ubun10LTS' --class ubuntu --class gnu-linux --class gnu --class os {

recordfail insmod ext2 search --no-floppy --label Ubun10LTS --set root linux /vmlinuz root=LABEL=Ubun10LTS ro quiet splash initrd /initrd.img

 } 


/boot/grub.cfg aktualisieren

Nach Änderung an der Konfiguration schaut man sich die Auswirkungen auf /boot/grub/grub.cfg mittels

 sudo grub-mkconfig 

an und schreibt sie in /boot/grub/grub.cfg mittels

 sudo update-grub
ISO-File booten
Auswahl des Betriebssystems für nächsten Boot

Um nur für den nächsten Bootvorgang ein anderes Betriebssystem zu booten, kann man

 sudo grub-reboot x

aufrufen, wobei x die Nummer oder die genaue Bezeichnung des "menuentry"-Eintrags in der grub.cfg ist.

Wichtig ist dabei, dass in /etc/default/grub steht, dass

 GRUB_DEFAULT=saved

Dabei ist es sinnvoll den Standardbootmenüeintrag mit folgendem Kommando festzulegen:

 sudo grub-set-default x

Siehe http://wiki.ubuntuusers.de/GRUB_2/Terminalbefehle#grub-reboot

Boot in die Shell
Weiterführendes

Siehe auch

EFI-Boot-Loader

Allgemeines
GRUB2
Allgemeines


Installation

Aus einem mit EFI gestarteten System lassen sich mit

 sudo efibootmgr --verbose

die zu bootenden Loader anzeigen und die Bootreihenfolge mit

 sudo efibootmgr -o A,2,3

ändern.

Wenn man in /etc/default/grub

 GRUB_DISTRIBUTOR=dhubuntu

gesetzt hat und mit

 sudo grub-install

den GRUB-Bootloader erneut installiert hat, kann man ihn mit

 sudo efibootmgr -c --bootnum 000A -d /dev/sda -p 1 -L "dhUbuntuEFI" -l \\EFI\\dhubuntu\\grubx64.efi 

aktivieren.[3]

Chainloading Windows
  • Chainloading von EFI-Windows-Bootloader funktioniert durch folgenden Eintrag in grub.cfg[4] bzw. /etc/grub.d/08_windows
 menuentry "Windows 7" {
       set root='(hd0,gpt1)'
       chainloader /EFI/microsoft/BOOT/bootmgfw.efi
 }
ELILO

Für ELILO muss Kernel und Initial RamDisk auf einer EFI-zugänglichen Partition liegen.[5]

Booten übers Netzwerk

Kernel

  • Achtung der Kernel-Parameter root= kann sich ändern. Passte bei einer früheren Version noch /dev/hda1 als Argument, kann es jetzt /dev/sda1 sein.

Wer seinen Kernel selber kompilieren will, findet hier eine Anleitung.

Init nach UNIX Sys V

Der herkömmliche Boot-Prozess unter Linux ist das Init-System aus Unix Sys V - Zeiten: Dabei werden entsprechend verschiedener Runlevel einzelne Init-Skripte abgearbeitet, die sich normalerweise in /etc/init.d befinden. Unterhalb von /etc/rc.d findet sich für jedes Runlevel eine symbolische Linksammlung, deren einzelne Links auf die init-Skripten verweisen. Die Links beginnen mit einem S oder einem K, einer Zahl (=Priorität) und enden mit dem Namen des zu startenden (S) bzw. zu beendenden (K) Prozesses. Die Init-Skripten werden nacheinander entsprechend dieser Prioritäten-Zahl abgearbeitet.

Zur Verwaltung der Linksammlung bieten die unterschiedlichen Distributionen kleine Kommandozeilentools:

  • Für chkconfig wird in dem init-Skript konkret die jeweiligen Runlevel, in denen der Dienst laufen soll, sowie die Prioritätszahl vorgegeben.
  • insserv (OpenSuse) kann auch Abhängigkeiten auflösen.
  • Unter Debian und Konsorten gibt es update-rc.d (siehe diese kleine Anleitung).

Upstart

Ubuntu steigt ab V 9.10 Karmic Koala auf das neuere "Upstart"-System um. Damit ist es möglich, init-Skripten parallel abzuarbeiten. Dafür wird ein Abhängigkeitssystem zur Verfügung gestellt. Debian verfügt ab Debian 6.0 Squeeze über Upstart.

Siehe

Systemd

Systemd scheint nach der Entscheidung von Debian zur Umstellung auf Systemd das alte *NIX-Init-System abzulösen.

Standard-Ziel

Das Standard-Ziel (der Default Runlevel) wird mittels eines Links eingestellt:[6]

 ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Alternativ kann auch der folgende Befehl genutzt werden:[7]

 systemctl set-default multi-user.target

Schließlich lässt sich beim Booten ebenfalls das Target als Kernel-Parameter (siehe bei GRUB) angeben:[8]

 systemd.unit=multi-user.target

Eine Übersicht über besondere Ziele des Systemd-Systems findet sich bei freedesktop.org.

Konsolen

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):

Automatischen Ruhezustand verhindern

Systemd ist standardmäßig so eingestellt, dass es bei geschlossenem Laptop-Deckel in den Ruhezustand geht. Dies lässt sich in der /etc/systemd/login.conf vermeiden:[9]

 HandleLidSwitch=ignore


Weiteres

Herunterfahren

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 /etc/inittab folgende Zeile einfügen/ändern:

 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now

Tastatur

Troubleshooting Tastatur

Linux Mint 17.1 Rebecca

Siehe zunächst das Vorgehen bei Linux-Tipps#Debian 8.0 Jessie

Bei mir hat allerdings die Einstellungen für cups, in der blacklist und der Kernel-Parameter atkbd.reset nicht geholfen. Mittels aptitude habe ich dann das System auf den aktuellen Stand gebracht (im Recovery-Modus). Außerdem habe ich den openssh-server installiert, um auch bei normalem Start von einem Zweitrechner auf die Mint-Installation zugreifen zu können. Die Module lp, ppdev, parport_pc und parport habe ich sowohl in GRUB (z.B. lp.blacklist=yes) als auch in /etc/modprobe.d/uebeltaeter.conf ausgeschlossen.

Das Laden der Module lp, parport und parport_pc in /etc/modules-load.d/cups-filters.conf wird durch Auskommentieren (Raute '#' am Anfang der Zeile) unterbunden.

Eventuell hilft auch das ausdrückliche Laden von atkbd mittels der Kernel-Parameter earlymodules=atkbd modules-load=atkbd.[10]

Der Recovery-Modus einer Linux-Mint-Installation ist meist ein guter Weg, um die notwendigen Änderungen vorzunehmen.

Ubuntu 14.04.2

In /etc/modules-load.d/cups-filter.conf sind die Module lp, ppdev und parport_pc auszukommentieren.

Debian 8.0 Jessie

Wenn die PS/2-Tastatur nach Installation von CUPS nicht funktioniert, hilft möglicherweise[11] eine Änderung der /etc/default/cups:

 LOAD_LP_MODULE=no

Oder man deinstalliert das Modul cups-server-common mit all seinen Abhängigkeiten

 aptitude remove cups-server-common

Der eigentliche Übeltäter ist jedoch das Modul parport_pc[12], das CUPS für Drucker am Parallelport lädt. Dies lässt sich durch Erstellung folgender /etc/modprobe.d/blacklist-uebeltaeter.conf beheben:

 #Ermoeglicht wieder die PS_2 Tastatur zu nutzen:
 
 blacklist parport_pc


Wenn es immer noch nicht hilft, muss das Modul ohci_pci nachgeladen werden.[13]

Oder: das Paket hal muss deinstalliert werden:

 aptitude remove hal

Schließlich hilft eventuell (z.B. bei einer Tastatur, die nach einem Suspend-to-RAM nicht mehr funktioniert) auch der Kernelparameter (anzugeben bei den GRUB-Einstellungen):

 atkbd.reset

Debian 7.0 Wheezy

Für Debian 7.0 Wheezy hilft evtl. folgende Änderung der /etc/X11/xorg.conf (evtl. ausführbar machen???):

 Section "ServerFlags"
   Option "AutoAddDevices" "False"
 EndSection

Zusätzlich sollte noch der "alte" Tastatur-Treiber installiert werden:

 aptitude install xserver-xorg-input-kbd xserver-xorg-input-mouse

Tastaturlayout

Ab Debian 6.0 Squeeze ist die Tastatureinstellung für die Konsole und den X-Server vereinheitlicht:

 dpkg-reconfigure keyboard-configuration


Dazu muss zuvor die notwendigen Pakete installiert werden

 aptitude install console-data keyboard-configuration

Bisher: Mit

 loadkeys de-latin1 

kann man in der Konsole die deutsche Tastaturbelegung laden.

Für X wird das Tastaturlayout (jedenfalls unter Debian) in der Datei /etc/X11/xorg.conf eingestellt:

 Section "InputDevice"
       Identifier      "Generic Keyboard"
       Driver          "kbd"
       Option          "XkbRules"      "xorg"
       Option          "XkbModel"      "pc104"
       Option          "XkbLayout"     "de"   
 EndSection


Siehe auch

Maus und Touchpad

Mit

 synclient TouchPadOff=1

kann das Klicken durch Tippen auf das TouchPad abgeschaltet werden. Siehe dazu auch diesen Thread.

RS232 Schnittstelle

Einen USB-RS232-Adapter kann man auch an einen Linux-PC anschließen.[14]

Allerdings muss man dazu entsprechende Kernel-Module laden.

Die RS232-Schnittstelle lässt sich aus einem in C geschriebenen Programm mittels einer recht neuen Open Source Bibliothek ansprechen.

Infrarot-Schnittstelle

IrDA

Datenübertragung per Infrarot geht nach dem IrDA-Standard. Dazu gibt es unter Linux beispielsweise die irda-utils.

LIRC

Die Signale der Infrarot-Fernbedienungen konnten früher nur über 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.[15]

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

 ir-keytable

können die installierten IR-Receiver angezeigt werden. Eingabegeräte ganz allgemein lassen sich auch mit

 cat /proc/bus/input/devices

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 input zuweist:[16]

 sudo adduser USER input


Siehe

Prozessverwaltung

nohup

  • Mit dem Befehl nohup kann man Prozesse starten, die nicht beendet werden, wenn die Shell verlassen wird. Die Standardausgabe stdout wird nach nohup.out im aktuellen Verzeichnis umgeleitet (kann z.B. mit cat nohup.out angesehen werden.

cron

crontab

  • Mit dem Befehl crontab lassen sich Prozesse zu einem bestimmten Zeitpunkt ausführen. Anleitungen finden sich z.B. bei Wikipedia, Newbie-Net. Mit
 crontab -l

wird die crontab des aktuellen Benutzers ausgegeben. Mit

crontab -e

kann die crontab 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 src nach backup 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.

/etc/cron.weekly u.a.

Ausführbare Dateien in den Verzeichnissen /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly werden von anacron und/oder cron periodisch ausgeführt.

Gegenüber der crontab-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 /etc/cron.daily etc. ist recht restriktiv. Siehe dazu die man-pages von run-parts. 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.

Benutzerverwaltung

neuer Benutzer

  • Einen neuen Benutzer legt man am Besten mit adduser NEUERNUTZER an. Im Gegensatz zu useradd wird dabei gleich ein /home-Verzeichnis angelegt. Ein Passwort wird dabei auch gleich abgefragt.

Benutzer-Nummer


Konsolen-Benutzer ohne Passwort

  • Für einen Benutzer ohne Passwort (beim Login auf Shell-Ebene muss man nur den Login-Namen, aber kein Passwort eingeben)[17] legt man ihn in folgenden zwei Schritten an:
 adduser userWithoutPassword
 passwd -d userWithoutPassword

AutoLogin auf Konsole

AutoLogin unter SysV

Ein automatisches Login erreicht man mit dem Paket rungetty:

 aptitude install rungetty


Danach muss man in /etc/init/tty1.conf die Zeile exec /sbin/getty 38400 tty1 durch folgende Zeile ersetzen:

 exec /sbin/rungetty --autologin namedesbenutzers tty1

Bei anderen Linux-Systemen (z.B. Debian 6.0 Squeeze) muss man in der /etc/inittab die Zeile 1:2345:respawn:/sbin/getty 38400 tty1 durch folgende Zeile ersetzen:

 1:2345:respawn:/sbin/rungetty --autologin namedesbenutzers tty1

Nach dem Parameter tty1 kann man noch ein Kommando angeben, das automatisch ausgeführt wird. Ein textbasierter Music-Client lässte sich daher durch Aufruf von ncmpcpp erstellen; bei Beenden des Programms wird es dann automatisch wieder gestartet. Dazu muss allerdings zuvor der MPD-Server installiert sein.

AutoLogin unter Systemd

Siehe dazu http://noctus.net/2011/mingetty-und-systemd

Weiterführendes

Virtualisierung

  • 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.
  • LXC ist ebenfalls eine Container-Lösung

Shells

Dokumentation für bash (Kommandozeile/Konsole)

Ablaufsteuerung

if-Verzweigung

Der Rückgabewert 0 einer Funktion oder eines Kommando wird als wahr gewertet.

Damit gibt

 if true; then echo eins; else echo zwei; fi;

"eins" aus.

Die Negation erreicht man mit dem Operator !:

 if ! true; then echo eins; else echo zwei; fi;

liefert "zwei".


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

Variablen

  • Array-Variablen können z.B. folgendermaßen Werte zugewiesen werden:
 meinArray=(eins zwei drei vier)
  • Ein komisches Verhalten zieht declare 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.

Parameteroptionen verarbeiten

getopts, ein in der Bash enthaltenes Kommando, hilft Kommandozeilenoptionen zu verarbeiten.

Exit-Status

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:

 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:

 if do_something; then

Debugging

Mit

 set -x

wird Tracing eingeschaltet: Jeder Script-Befehl wird vor der Ausführung auf der Konsole ausgegeben.

Mit

 set -e

wird grundsätzlich das Script bei einem erfolglosen Befehl abgebrochen.

Verarbeiten von Textstreams

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.

  • Einführung in Pipes
  • 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 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

 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
  • Zunächst wird der Backslash durch den Slash ersetzt.
  • 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 -i (oder --in-place) kann eine Datei geändert werden, die zugleich als Eingabestream fungiert.

Datum

 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

Interaktion mit Desktop

Zwischenablage

  • Mit 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.

Nachricht an Desktop

Mit

 notify-send text

kann eine Nachricht (text) an den Desktop gesendet werden, die dem Benutzer angezeigt wird.[18]

Dafür ist allerdings das Paket libnotify-bin zu installieren:

 sudo aptitude install libnotify-bin

User-Dialog

Unter Gnome lässt sich mit zenity von der Bash mit dem Nutzer in Dialog treten (Ja/Nein, User-Eingabezeile, ...).

Arbeitsflächen wechseln

Das Paket wmctrl erlaubt den Wechsel zwischen den Arbeitsflächen des Desktops:

 wmctrl -s arbeitsflächennummer

wobei arbeitsflächennummer die mit 0 beginnende Nummer des Desktops ist.[19]

Das Paket devilspie erlaubt es, Programme nach bestimmten Kriterien auf andere Arbeitsflächen/Viewports zu verfrachten. Dazu muss beispielsweise für xterm folgende Datei ~/.devilspie/xterm.ds (Die Endung .ds ist wichtig) erstellt werden:

 (if 
    (is (application_name) "xterm")
    (begin
       (set_viewport 3)
    )
 )

Anschließend muss devilspie gestartet werden. Bei den folgenden Aufrufen von xterm wird das Fenster automatisch auf die Arbeitsfläche 3 landen.

Eine Möglichkeit, mittels wmctrl und bash-Script Compiz-Viewports zu kontrollieren, findet sich hier und hier, letzteres basierend auf diesem Blog.

Dateiverwaltung

Dateisuche

Ein rekursives MS-DOS-dir lässt sich mit dem Befehl find erreichen:

 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.

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 Informatikserver.at

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 

Mounten

Erkennen einer CD-ROM

Möglicherweise hilft bei Nichterkennung einer CD-ROM das Einschalten des Kernel-Pollings (siehe unteren Teil der verlinkten Seite).

UUID

Die UUIDs der Festplattenpartitionen lassen sich mit sudo blkid anzeigen. In der /etc/fstab ersetzt man das übliche /dev/sdXX durch UUID=12345678.

LABEL

Eine ext2/ext3/ext4-Partition lässt sich mit sudo e2label mit einem Label versehen. In der /etc/fstab ersetzt man das übliche /dev/sdXX durch LABEL=MyPart.

Dauerhaftes Mounten einer NTFS-Partition

Um eine NTFS-Partition (z.B. auf /dev/sda2) dauerhaft (also schon beim Booten) zu mounten, fügt man in die Datei /etc/fstab folgende Zeile hinzu:

 /dev/sda2       /mnt/winC    ntfs    defaults,umask=011,uid=BENUTZER,gid=BENUTZERGRUPPE	0	0

wobei BENUTZER und BENUTZERGRUPPE durch die entsprechenden Benutzernamen bzw. Gruppennammen zu ersetzen sind.

Außerdem muss der Mount-Point erzeugt 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 uid=, gid= und umask= eine Lösung finden.

Unter Debian ist für den Schreibzugriff auf NTFS die Installation des Pakets ntfs-3g notwendig:

 aptitude install ntfs-3g


Korrupte NTFS-Partition

Mit

 sudo ntfsfix /dev/sdb1

kann die NTFS-Partition auf /dev/sdb1 repariert werden.[20]

USB-Datenträger unter Systemd

Wenn man eine USB-Disk nur manchmal beim Start eingesteckt hat, sie in dem Fall aber automatisch mounten will, helfen möglicherweise die /etc/fstab-Optionen nofail,nobootwait.[21]

Unter Systemd kann man auch die Optionenkombination noauto,x-systemd.automount in /etc/fstab verwenden. Dann wird die entsprechende Platte erst dann gemountet, wenn auf den Mountpunkt zugegriffen wird.[22]

Siehe

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

aushängen

Mounten eines FTP-Verzeichnisses

Mounten eines ZIP-Archivs

Mounten via SSH

  • Übers Netzwerk kann man auch per 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.

Mounten von NFS

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

Mounten eines WebDAV-Verzeichnisses

  • WebDAV-Verzeichnisse können auch dauerhaft gemountet werden, siehe hier.

Um als normaler User WebDAV-Verzeichnisse einzuhängen benötigt die /etc/fstab etwa folgende Zeile (Beispiel für T-Online Mediencenter und Benutzer USER):

 https://webdav.mediencenter.t-online.de/ /home/USER/t-online  davfs   noauto,user,rw  0       0

Zusätzlich muss der Mountpunkt noch angelegt werden:

 mkdir ~/t-online

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

Der Benutzer muss noch der Gruppe davfs2 hinzugefügt werden:

 sudo addgroup USER davfs2

Zur Vermeidung der Passwortabfrage sollte noch die Datei /home/USER/.davfs2/secrets mit folgendem Inhalt angelegt werden:[23]

 /home/USER/t-online   xy@t-online.de   password

Die Datei sollte nur von USER einsehbar sein:

 chmod 600 /home/USER/.davfs2/secrets

Dann kann das WebDAV-Verzeichnis gemountet werden:

 mount /home/USER/t-online

Ein auto-Einbinden in der /etc/fstab funktioniert nicht ohne Weiteres. Möglicherweise hilft die zusätzliche Option _netdev, um das Einbinden bis zum Etablieren des Netzwerks zurückzustellen.[24]


Siehe auch diese Anleitung zum Mounten des Telekom Mediencenters.

Mounten einer Windows-Freigabe/Samba-Share

  • Um die Samba-Server im Netzwerk anzuzeigen, bitte
 nmbstatus

eingeben.[25]

  • Um die von einem Samba-Server (z.B. Windows-Rechner) freigegebenen Ressourcen anzusehen, bitte
 smbclient -L sambaserver

eingeben, wobei sambaserver der Name des Samba-Servers ist.[26]

  • Mit Konqueror lässt sich graphisch durch die Samba-Freigaben browsen: Einfach smb:/ in die Adresszeile eingeben.


Mounten eines Loop-Devices

Das Mounten eines Loop-Devices geht wie das Mounten eines normalen Block-Devices. Bei den Optionen in der /etc/fstab steht zusätzlich loop.

Siehe

Mounten eines Sandwich-Dateisystems

Das UnionFS und das AUFS wird in moderneren Linux-Distributionen von OverlayFS abgelöst.

Beispiel: Der Inhalt des Verzeichnisses lower sollte im Verzeichnis together erscheinen, soweit er nicht vom Inhalt von upper verdrängt wird:

 sudo mount -t overlayfs -o lowerdir=lower,upperdir=upper overlayfs together

Ist upper beim Einhängen leer, sieht man alle Änderungen im Verzeichnis together in upper. lower ändert sich nicht.

Siehe


Ähnliche Funktionalität wie OverlayFS scheint Ovl.o zu bringen:


weitere Infoquelle für mount

Siehe

Kopieren einer Audio-CD

Angeblich funktioniert dd nicht mit Audio-CDs.

Das einfachste Kommando zum Kopieren einer CD ist[27]

 cdrdao copy

Um trotzdem von der Kommandozeile (und nicht z.B. mit den grafischen Tools Brasero oder K3b) eine Audio-CD kopieren nutzt man cdrdao:

 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

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

Backup


Open-Source Backup Produkte:

  • BackupPC (serverseitige Lösung zum Backup vieler Clients, geschrieben in Perl, mit Web-Interface zur Administration)
  • Amanda
  • storebackup

Linux-Bordmittel: dump, tar, smbtar, rsync, Tipps vom BSI, linux-backup.net

Umfangreiche Anleitung zu inkrementellem Backup mit Hilfe von rsync

Festplatten in Ruhezustand versetzen

Mittels

 hdparm -S 30 /dev/sdc

lässt sich eine Festplatte nach 30*5=150 Sekunden in den Ruhezustand versetzen.

Über die /etc/hdparm.conf lässt sich das auch automatisch einrichten.

Festplattenfehler

Festplattenfehler lassen sich u.a. mit

  • smartmontools
  • badblocks
  • e2fsck
  • dd_rescue
  • debugfs

finden.

Z.B. kann man ein fehlerhaftes EXT2/EXT3/EXT4-Dateisystem mit folgendem Befehl (interaktiv) reparieren lassen:

 sudo e2fsck /dev/sda5

Siehe

Verschlüsselung

Dateien verschlüsseln

Dateisysteme verschlüsseln

SSL

SSL-Zertifikate kopiert man unter Ubuntu ins Verzeichnis /usr/share/ca-certificates und macht sie dem System so bekannt:

 sudo dpkg-reconfigure ca-certificates

Siehe auch SSL

Leere Verzeichnisse löschen

Mit folgendem Befehl werden alle leeren Unterverzeichnisse gelöscht:[28]

 find -depth -type d -empty -exec rmdir "{}"  \;

Dateien im Netzwerk

Siehe

Netzwerk

Siehe oldCt:Linux-Tipps#Netzwerk

Allgemeines

In /etc/network/interfaces kann man manuelle Einstellungen für das Netzwerk vornehmen. Siehe diese Anleitung für Ubuntu. Dann kann man aber für das betreffende Interface den NetworkManager nicht mehr verwenden.

Network-Manager

In Desktop-Distributionen ist üblicherweise der "Network-Manager" installiert. Er lässt sich auch auf der Kommandozeile nutzen:

 sudo aptitude install Network-Manager

Hinzufügen einer WLAN-Verbindung:

 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:[29] Unter Linux Mint 17 (wahrscheinlich auch unter Ubuntu 14.04 LTS Trusty) geht das so:

 echo manual | sudo tee /etc/init/network-manager.override


wicd

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.

Sollte wicd unter Linux Mint 17.3 vor dem Start nach einem Passwort fragen, hilft folgende Befehlsfolge (man beachte die Punkte).[30]

Fehlersuche

  • 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 noapic nolapic weiter.
  • 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 Ethernet-HOWTO.

WLAN

WLAN-Hardware

USB-WLAN mit RT3070 Chip

Der RT3070 ist u.a. im LogiLink WL00049A verbaut.

  • Auch in Debian muss das Modul rt2800usb gesperrt werden und das Paket firmware-ralink aus dem non-free-Repository installiert werden.
RT2500
rt2070-Chip
ZD1211-Chipsatz
 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[32]. Das ist aber ein Sicherheitsrisiko.


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:

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

Wake up on LAN

Siehe Wake up on LAN

Webserver

Mail

Fernzugriff

Grafiksystem

Framebuffer

Auch ohne X-System kann man unter Linux Grafiken anzeigen: Dazu gibt es den Framebuffer.

Siehe z.B.

  • fbi zum Anzeigen von Bildern
  • fbtv zur Anzeige von Fernsehen
  • directvnc, eine VNC-Client für den Framebuffer

Weitere Infos

X

Window Manager

Siehe Einführung in Nur-Fenstermanager.

Fluxbox ist ein im Verhältnis zu GNOME und KDE schneller und kleiner Window Manager.

  • 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:

Grafische Fernsteuerung

Siehe Remote Desktop

Multimedia

Audio

Siehe auch Audio

Siehe auch Videotelefonie

Videos

Abspielen

Die Versorgung mit Codecs ist unter Linux ein - lösbares - Problem. Z.B. hilft die plattformübergreifende Software VLC.

Ein Projekt namens 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

gibt es auch Konsolenprogramme:

Für den Electronic Program Guide - EPG gibt es

Wichtig ist, dass der den TV-Stick nutzende User der Gruppe video 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 streamer:
 sudo aptitude install streamer
 streamer -f jpeg -o test.jpeg

Videotelefonie

Skype

Videotelefonie funktioniert auch unter Linux, z.B. mit Skype, auch wenn man zur Vermeidung von Abstürzen noch Workarounds benötigt.

Alternativen

Wer nur telefonieren will, findet freie Alternativen, die das SIP-Protokoll nutzen.

Digitalkameras unter Linux

Bildanzeige

In den graphischen Desktop-Umgebungen ist die Anzeige von Bildern selbstverständlich kein Problem.

Aber es gibt auch Möglichkeiten auf der Konsole:

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:

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 Exiflow-Tools können Bilddateien einfach gemäß dem Erstellungsdatum umbenannt werden.

Mit 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.

Schließlich bietet auch jhead (man-page) alle textuellen Informationen. Dieses Programm läuft nicht nur unter Linux, sondern auch unter Windows. Eine 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 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

Fernzugriff

Drucken

Allgemeines

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 printer jeweils durch die CUPS-Drucker-Bezeichnung, z.B. "DESKJET-840C" ersetzen muss.

Siehe auch

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 net aus.

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 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

Scannen

Scanner im Netzwerk

Siehe die Anleitung zum Scannen im Netzwerk unter Ubuntu.

Zusätzlich muss noch in /etc/default/saned 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.

Einzelne Scanner

Scanner Mustek 1200 UB Plus

Für den Scanner Mustek 1200 UB Plus ist neben einer SANE-Installation einschließlich des 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 sbfw.usb herunterladen und im Verzeichnis /usr/share/sane/gt68xx speichern sowie
  • Von der bisher in der Datei /etc/sane.d/gt68xx.conf enthaltene Zeile
    #override "mustek-scanexpress-1200-ub-plus" 

das führende Kommentarzeichen (#) entfernen. Ansonsten wird der Scanner fälschlicherweise als Mustek BearPaw 1200 CU erkannt.

  • Das erkannte Scanner-Modell kann man sich ausgeben lassen:
 scanimage -L
  • Mit der Anwendung xsane kann man dann scannen.

Brother MFC 260C

Das Multifunktionsgerät Brother MFC 260 C lässt sich sowohl als Scanner als auch als Drucker unter Linux einrichten. Dazu ist der Treiber brscan2 von Brother herunterzuladen.

Scannen in verschiedenen Distributionen

OpenSuse

  • Mit dem Scanner-Modul von yast kann man die korrekte Installation testen.

Debian

  • Unter Debian
    • ist neben der Installation von xsane auch die Installation von sane-utils erforderlich.
    • Außerdem muss der jeweilige Benutzer Mitglied der Gruppe scanner sein.

Ubuntu

Achtung wohl veraltet

  • Unter Ubuntu benötigt man jedenfalls in 9.10 Karmic Koala folgende Zeile in /etc/fstab:
 none    /proc/bus/usb   usbfs           auto                    0       0

Evtl. funktioniert auch

 none    /proc/bus/usb   usbfs           auto,devmode=0666       0       0


  • Ob die Zeile funktioniert lässt sich mit mount testen:
 sudo mount -a
  • Damit man auch als normaler User auf den Scanner zugreifen kann,[33] 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"

Anschließend muss man das udev-System neustarten:

 sudo restart udev

Hinweis: Auf 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 anders machen.

Energiemanagement

Mit upower kann man sich den Stand des Akkus anzeigen lassen.[34]

 upower -i /org/freedesktop/UPower/devices/battery_BAT0

Den Pfad für das oben angegebene Kommando findet man durch

 upower -e

Verbindung mit Handy/PDA

Weitere Anwendungen

Plattformübergreifende Software

Siehe Plattformübergreifende Software

CAD


Business Software

Groupware-Server


  1. Hängen bei Aufbau der Druckerdatenbank bei 4%.
  2. Siehe How to use Labels for GRUB2.
  3. Siehe ubuntuusers
  4. Siehe http://www.rodsbooks.com/efi-bootloaders/grub2.html; für GRUB Legacy siehe http://www.denraf.be/content/efi-dualboot-windows-7-and-fedora-16 oder http://www.rodsbooks.com/efi-bootloaders/grub_legacy.html
  5. Siehe http://www.rodsbooks.com/efi-bootloaders/elilo.html
  6. http://www.freedesktop.org/wiki/Software/systemd/FrequentlyAskedQuestions/
  7. https://wiki.archlinux.org/index.php/systemd#Syntax_highlighting_for_units_within_Vim
  8. https://wiki.archlinux.org/index.php/systemd#Syntax_highlighting_for_units_within_Vim
  9. http://unix.stackexchange.com/questions/52643/how-to-disable-auto-suspend-when-i-close-laptop-lid
  10. https://www.archlinux.org/news/linux-313-warning-ps2-keyboard-support-is-now-modular/
  11. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641267
  12. Siehe http://www.aptosidusers.de/index.php?name=PNphpBB2&file=viewtopic&p=12101
  13. Siehe http://forums.debian.net/viewtopic.php?f=17&t=105344 .
  14. Siehe https://blog.mypapit.net/2008/05/how-to-use-usb-serial-port-converter-in-ubuntu.html, http://www.linux-usb.org/USB-guide/x356.html
  15. Vgl. http://www.lirc.org/html/configuration-guide.html
  16. Vgl. http://www.lirc.org/html/devinput.html
  17. Vergleiche http://onlyubuntu.blogspot.com/2008/06/howto-enable-empty-password-login-in.html.
  18. https://linuxnetz.wordpress.com/2010/04/21/notify-send/
  19. http://www.linuxquestions.org/questions/linux-desktop-74/how-to-specify-a-gnome-workpace-an-application-will-launch-in-555764/
  20. http://askubuntu.com/questions/74105/how-do-you-repair-an-input-output-error-in-an-ntfs-partition
  21. 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
  22. Vgl. https://bbs.archlinux.org/viewtopic.php?id=147478
  23. http://tomalison.com/reference/2010/04/03/webdav/
  24. Vgl. http://askubuntu.com/questions/277873/mount-webdav-fails-on-reboot
  25. Vgl. http://de.opensuse.org/SDB:Drucken_via_SMB_(Samba)_Share_bzw._Windows_Freigabe.
  26. http://www.tldp.org/HOWTO/SMB-HOWTO-8.html.
  27. Siehe http://www.togaware.com/linux/survivor/Duplicate_Audio.html
  28. http://www.unixboard.de/vb3/showthread.php?28301-leere-Verzeichnisse-finden
  29. Siehe http://xmodulo.com/disable-network-manager-linux.html .
  30. Siehe https://answers.launchpad.net/ubuntu/+source/wicd/+question/94845/ Post #7.
  31. http://www.xadux.eu/wireless-lan-und-lan/3423-rt3070-2.html
  32. http://wiki.ubuntuusers.de/GNOME_Schl%C3%BCsselbund#Automatische-Anmeldung-in-GDM
  33. http://www.ubuntu-forum.de/artikel/41977/scanner-wird-als-user-nicht-erkannt-nur-als-root.html
  34. Siehe http://askubuntu.com/questions/69556/how-to-check-battery-status-using-terminal .