Autor: Arsenal

Opera in die Paketquellen von Ubuntu aufnehmen

Da ich ein Fan der Synaptic beziehungsweise apt Werkzeuge bin, versuche ich stets, Software die ich verwende in die Paketquellen mit aufzunehmen damit ich mich nicht mehr selbstständig um die Aktualisierung kümmern muss.

Von Opera gibt es bereits die Paketquellen, also muss man diese nur in Synaptic hinzufügen:

1
2
Synaptic -> Einstellungen -> Paketquellen -> Software von Drittanbietern -> Hinzufügen
deb http://deb.opera.com/opera etch non-free

Dann einfach noch den Authentifizierungsschlüssel über die Konsole mit:

1
wget -O - http://deb.opera.com/archive.key | sudo apt-key add -

Importieren. Man muss dazu das Benzuterpasswort eingeben, die Aufforderung geht ein wenig in wget unter.

Nun in Synaptic einfach auf „Neu laden“ klicken und schon sollte sich Opera in den auswählbaren Paketen befinden.

Diese Anleitung entstand auf Basis von:
Sven’s Wiki – Opera


Xubuntu vom USB-Stick installieren über Unetbootin

Unetbootin ist ein Programm welches die Erstellung von bootbaren USB Medien automatisieren soll. Unetbootin ist von der Homepage des Projekts erhältlich. Da es kein vorgefertigtes Paket für Fedora gibt habe ich kurzentschlossen die Binary heruntergeladen.

Ein chmod +x unetbootin-linux-304 später kann ich die Datei ausführen, zwei Warnmeldungen machen mir klar, dass ich noch die sogenannten mtools und p7zip installieren muss, welche sich glücklicherweise in den vorgefertigten Paketen befinden.

Das Programm sollte erst gestartet werden, wenn der USB Stick tatsächlich angeschlossen ist, sonst kann man ihn nicht mehr auswählen. Dann kann man entweder die gewünschte Distribution auswählen oder ein ISO-Image angeben. Ich hatte bereits das Image und habe es einfach ausgewählt und auf los geklickt und eine Minute später war der Vorgang bereits abgeschlossen.

Im Nachhinein stellte sich dann allerdings heraus, dass der USB Stick ein paar Sonderzeichen im Namen hatte mit denen Unetbootin nicht klar kam, daher musste ich den USB-Stick manuell an einen Ort mounten der keine Sonderzeichen oder Leerzeichen enthielt, daraufhin dauerte der Erstellungsprozess auch deutlich länger.

Danach kann man dann einfach die Live-CD-Umgebung vom USB-Stick booten und auch normal davon installieren.

Ich vermisse eine Möglichkeit ein verschlüsseltes System einzurichten, eventuell müsste ich dort auf das sogenannte „alternate install“ Abbild zurückgreifen.


Tablet-PC Funktionalität unter Fedora 10 aktivieren für Lenovo X61t (Teil 2 – Sondertasten + Rotation)

Für Ubuntu gibt es hier eine neue Anleitung:Rotation unter Ubuntu

So im zweiten Teil kümmern wir uns um die Zusatztasten des Tablets. Dazu untersuchen wir zunächst die relevanten Keycodes. Dazu gibt es zwei Werkzeuge, eins für die Konsole und eins für den XServer.
Für die Konsole showkey und für den XSever xev
Auf meinem Tablet ließen sich so folgende Keycodes herausfinden:

1
2
3
4
5
6
7
8
9
10
Taste       Showkey         xev
Rotate      191         199
Werkzeugkasten  152         (160)
Escape      1           9
Oben        103         111
Rechts      106         114
Unten       108         116
Links       105         113
Enter       28          36
Reset       Unknown->code 0x67   no_event

Bei mir waren die xev-Codes alle um 8 größer als die von showkey. Dies ist aber wohl nicht immer der Fall.
Escape und Enter haben natürlich schon die Standardfunktionen, ebenso sind die Oben, Rechts, Unten und Links-Tasten bereits richtig belegt. Der Werkzeugkasten sperrt bei mir den Bildschirm, nur der Rotierknopf ist mit keiner Funktion belegt.
Diesem wollen wir nun Leben einhauchen.
Dazu müssen wir die Tastenbelegung des XServers editieren.

1
2
3
4
cp /etc/X11/Xmodmap    /etc/X11/Xmodmap.ORIGINAL
echo "! Custom Xmodmap for X61 Tablet PC" > /etc/X11/Xmodmap
xmodmap -pke >> /etc/X11/Xmodmap
nano /etc/X11/Xmodmap

Dort suchen wir nun nach dem oben gefundenen Keycode und schreiben hinter das Istgleich XF86User1KB.
Damit führt der Xserver dann beim Drücken der Taste die Aktion XF86User1KB aus. Jetzt müssen wir also nur noch eine Rotationsfunktion einbinden die wir dann mit der Aktion verknüpfen und dann funktioniert das ganze schon hoffentlich. Da ich nicht der erste bin der ein Tablet gekauft hat, gibt es bereits ein Python Script welches die Rotation sehr gut erledigt. (Lukes Homepage) Es ist zwar für ein X60 Tablet geschrieben aber man wird es schon so umbiegen können, dass es auch auf einem X61 Tablet läuft.
Mit folgenden Anweisungen sollte das Script installiert sein:

1
2
3
4
5
6
7
8
mkdir -p /usr/local/src/X61_XF86
pushd /usr/local/src/X61_XF86
wget http://luke.no-ip.org/x60tablet/examples/rotate
chmod ugo+x rotate
pushd /usr/local/bin
ln -s /usr/local/src/X61_XF86/rotate
popd
popd

Als nächstes müssen wir noch Berechtigungen setzen, so ist es erforderlich sudo zu verwenden wenn man den Bildschirm rotiert oder die globale Tastaturbelegung ändern möchte.
Dazu müssen wir einmal eine Gruppe der Tabletbenutzer anlegen. Gruppen werden in der Datei /etc/group eingerichtet.

1
nano /etc/group

Wir fügen in eine zusätzliche Zeile einfach folgendes ein:

1
tabletgroup:x:501:root,<strong>Tabletnutzernamen</strong>

Wobei die Nutzernamen jeweils durch Komma getrennt einzutragen sind, bei mir wäre es zum Beispiel tabletgroup:x:501:root,arsenal.
Jetzt müssen wir der Gruppe noch die Rechte zuweisen die sie haben soll: sudo benutzen für Rotation und Tastenbelegungändern. Dabei wollen wir natürlich nicht jedemal unser Passwort eingeben um dieses Ziel zu erreichen. Die Berechtigungen für sudu sind in der Datei /etc/sudoers zu finden. Also bedienen wir uns wieder unseres allseitsbeliebten Konsoleneditor als root:

1
nano /etc/sudoers

Wir fügen dort am Ende hinzu:

1
2
##Allow users to do tablet screen rotations if in this group
%tabletgroup    ALL=(ALL)       NOPASSWD:/usr/bin/setkeycodes,/usr/local/bin/rotate

Zudem suchen wir nach der Zeile:

1
Defaults    requiretty

und kommentieren diese durch voranstellen eines # aus.

Jetzt müssen wir noch die XF86User1KB mit dem rotate-Script in Verbindung bringen.
Dazu benötigt man wohl den gconf-editor (zumindest für Gnome) um das ganze etwas komfortabel zu gestalten. (Dank an Codejacked.com für den Guide)
Wir starten ihn aus dem Menü Anwendungen -> Systemwerkzeuge -> Konfigurationseditor oder über ein Terminal mit der Eingabe von gconf-editor.
Wir wechseln dann in der Liste zu apps/metacity/keybinding-commands.
Nun können wir rechts bei command_1 oder einem anderen freien Befehl folgendes eingeben:

1
sudo /usr/local/src/X61_XF86/rotate

Danach wechseln wir zu /apps/metacity/global_keybindings/run_command_1 und fügen dort XF86User1KB ein und „schon“ sollte die Rotation beim drücken des Knopfes ausgeführt werden.

Beim Testen ist mir jedoch aufgefallen, dass das Script nicht ganz funktioniert sondern aus der Funktion mit einem Fehler herausspringt, es versucht einfach für jedes Wacomgerät die Rotation zu verändern. Dummerweise ist jedoch ein recht seltsames Gerät gelistet, namens „ThinkPad Extra Buttons“, es kann jedoch nicht vom Wacomtreiber angesteuert werden. Daher muss im Script ausgeschlosssen werden, dass versucht wird die Rotation von dem Gerät zu ändern, dargestellt im folgenden Screenshot:
rotatescript
Ein Download ist auch verfügbar: rotate
Einfach als root folgendes ausführen:

1
2
3
4
5
6
7
8
mkdir -p /usr/local/src/X61_XF86
pushd /usr/local/src/X61_XF86
wget http://www.arsenal-of-wisdom.org/wp-content/uploads/2009/01/rotate
chmod ugo+x rotate
pushd /usr/local/bin
ln -s /usr/local/src/X61_XF86/rotate
popd
popd

Damit verhält sich unser Tablet schon recht zufriedenstellend unter Linux. Als nächtes werde ich versuchen die automatische Orientierung des Bildschirms zu aktivieren.

Dieser Artikel entstand haupsächlich aus Informationen die ich auf folgenden Seiten erhalten habe:
Installing Fedora 8 on an X61 Tablet
Lukes X60 tablet Seite


Tablet-PC Funktionalität unter Fedora 10 aktivieren für Lenovo X61t (Teil 1 – Stifteingabe)

So, da ich ja erfolgreich Fedora installiert bekommen habe, möchte ich natürlich auch die Tabletfunktionen unter Linux nutzen. Der erste Schritt ist herauszufinden wie das Wacom-Tablet angeschlossen ist (USB oder Seriell? Welcher Schnittstellenport?)
Unter Fedora 10 sind die Wacomtreiber schon standardmäßig installiert, aber um sicherzugehen einfach prüfen ob das paket linuxwacom installiert ist.
Dann können wir anfangen zu testen wie das Tablet angeschlossen ist, dazu nehmen wir des Administrators liebstes Werkzeug, das Terminal, und um uns richtig wichtig zu machen am besten gleich mit su den root übernehmen.
Um den seriellen Port zu überprüfen fand ich cat hilfreich. Dazu geben wir ein:

1
cat /dev/ttyS<strong>X</strong>

Wobei X für eine Nummer steht, bei mir gingen sie von 0 bis 3. Hat man den Befehl ausgeführt, berührt man mit dem Stift den Bildschirm, wenn jetzt viele lustige Zeichen über den Bildschirm huschen wissen wir an welcher seriellen Schnittstelle unser Tablet angeschlossen ist.
Um herauszufinden ob und an welchem USB-Port unser Tablet angeschlossen ist empfiehlt es sich das Werkzeug wacdump zu verwenden.

1
wacdump /dev/input/event<strong>X</strong>

Wobei wiederum für X eine Zahl eingesetzt wird. Wacdump zeigt einem allerlei Informationen an, wenn man mit dem Stift den Bildschirm berührt sollte sich einiges ändern.

Bei mir war das Tablet über die serielle Schnittstelle 0 angeschlossen. Daher werde ich mich mangels anderer Erfahrungen darauf beschränken ein serielles Tablet einzurichten.

Für gewöhnlich werden Eingabegeräte in der xorg.conf des Xorg-Display-Servers eingetragen. Bei mir (vermutlich bei Fedora 10 allgemein) existierte diese Datei jedoch nicht. Da es ohne vorkonfigurierte xorg.conf jedoch recht schwer fällt die ganze Konfiguration manuell durchzuführen lassen wir das lieber Xorg selbst machen.

Dazu sollte man den aktuellen Xorg-Server beenden, als harte Methode, einfach in ein Textterminal wechseln (Strg+Alt+F2) und sich als root anmelden. Dann finden wir den aktuellen Xorg Prozess über:

1
ps -A |grep Xorg

heraus. Das produziert dann etwa folgende Ausgabe:

1
 2538 tty1     00:00:17 Xorg

Die erste Nummer gibt die Prozessid an, die wir nun mit:
Achtung: Alle nicht gespeicherten Daten von Programmen die grade im Xorg-Server laufen gehen verloren.

1
kill 2538

beenden können.

Nachdem wir uns des Xorg-Servers erfolgreich entledigt haben, können wir nun automatisch eine xorg.conf erzeugen lassen.

1
Xorg -configure

Dieser Befehl erzeugt automatisch eine Konfigurationsdatei im Home-Verzeichnis des angemeldeten Benutzers, in dem Fall sollte die Datei unter /root/xorg.conf.new zu finden sein.
Diese kopieren wir nun an den Ort wo sie sich normalerweise befindet, /etc/X11/:

1
cp /root/xorg.conf.new /etc/X11/xorg.conf

So, nun können wir eigentlich den Xorg-Server wieder starten.

1
Xorg

Jetzt können wir die xorg.conf so abändern, dass unser Tablet als Eingabegerät erkannt wird. Wir schnappen uns wieder eine Konsole und editieren als root die xorg.conf

1
nano /etc/X11/xorg.conf

Wir sollten nun eine recht ausführliche Konfigurationsdatei vor uns sehen.
Wir fügen am Ende folgende Dinge ein:

1
2
3
4
5
6
7
Section "InputDevice"
  Driver        "wacom"
  Identifier    "stylus"
  Option        "Device"        "/dev/ttyS<strong>X</strong>"          # SERIAL ONLY
  Option        "Type"          "stylus"
  Option        "ForceDevice"   "ISDV4"
EndSection
1
2
3
4
5
6
7
Section "InputDevice"
  Driver        "wacom"
  Identifier    "eraser"
  Option        "Device"        "/dev/ttyS<strong>X</strong>"          # SERIAL ONLY
  Option        "Type"          "eraser"
  Option        "ForceDevice"   "ISDV4"               # Serial Tablet PC
EndSection
1
2
3
4
5
6
7
Section "InputDevice"
  Driver        "wacom"
  Identifier    "cursor"
  Option        "Device"        "/dev/ttyS<strong>X</strong>"          # SERIAL ONLY
  Option        "Type"          "cursor"
  Option        "ForceDevice"   "ISDV4"               # Serial Tablet PC
EndSection

Sofern das Tablet Touchfunktion unterstützt noch folgendes:

1
2
3
4
5
6
7
Section "InputDevice"
  Driver        "wacom"
  Identifier    "touch"
  Option        "Device"        "/dev/ttyS<strong>X</strong>"          # SERIAL ONLY
  Option        "Type"          "touch"
  Option        "ForceDevice"   "ISDV4"               # Serial Tablet PC
EndSection

Wobei für X jeweils die oben ermittelte serielle Schnittstelle eingetragen werden muss.
Damit kennt unser Xorg alle Eingabemöglichkeiten. Damit es sie auch nutzt müssen wir noch die Events zuweisen.
Dazu suchen wir die Stelle in der xorg.conf mit dem Namen „Serverlayout“.
Diese ändern wir ab, so dass die neuen Eingabemethoden auch benutzt werden, das kann dann so aussehen:

1
2
3
4
5
6
7
8
9
10
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        <strong>InputDevice    "stylus"    "SendCoreEvents"
        InputDevice    "eraser"    "SendCoreEvents"
        InputDevice    "cursor"    "SendCoreEvents"
        InputDevice    "touch"  "SendCoreEvents"</strong>
EndSection

Nun starten wir den Xorg-Server neu mit Strg+Alt+Backspace.
Damit sollte die Tableteingabe nun funktionieren.
Als nächsten werfen wir dann einen Blick auf Tablet-Sondertasten und auch die Bildschirmrotation will eingerichtet werden.


Fedora über PXE und NFS installieren

Da mein neuer Tablet PC, ein Lenovo X61 Tablet , ohne optisches Laufwerk ausgeliefert wird, stellt es eine kleine Herausforderung dar Linux oder überhaupt ein Betriebssystem zu installieren, da diese ja doch meist auf einer CD oder DVD ausgeliefert werden. Alternativ gibt es natürlich den Weg über eine bootbare USB-Festplatte oder einen USB-Stick. Da mein Stick allerdings nur 128 MB fasst habe ich hier Platzprobleme. Einen neuen Stick kaufen wollte ich auch grade nicht. Aber es gibt ja noch den Weg über das Netzwerk zu booten und das Installationsmedium über das Netzwerk freizugeben.

Dazu benötigt man einen Rechner der als Server für PXE (Preboot Execution Environment) und NFS (Network File System) dienen kann. Hierzu diente mir mein Laptop auf dem bereits Debian installiert ist als Ausgangsbasis.

Die benötigten Pakete erhält man über den Paketmanager seiner Wahl, diese sind:

1
2
3
4
dhcp3-server
unfs3
tftpd-hpa
xinetd

Danach benötigt man noch sinnvollerweise das PXELINUX, welches man über SYSLINUX beziehen kann. Direkter Link zum Download. Aus der recht umfangreichen gepackten Datei benötigt man nur die Datei:

1
pxelinux.0

Diese befindet sich normalerweise im Core-Verzeichnis. Ebenfalls sollte man sich das aktuelle DVD Abbild von Fedora besorgen (zu finden hier).

Damit hat man alle benötigten Dateien und auch das entsprechende Zubehör.

Die Einrichtung ist im Prinzip recht einfach, es gab nur ein paar Dinge die ich zu beachten herausgefunden habe. Als liebstes Arbeitswerkzeug für die folgenden Schritte nehme man eine Root-Konsole, alternativ eine normale Konsole, welchen Schritten jeweils ein sudo voranzustellen ist, weiß ich nicht.

Der erste Schritt, ist die Konfiguration des DHCP Servers. Ich empfehle hier die Netzwerkinstallation fernab von Routern und anderen Netzen durchzuführen, da es eventuell zu Komplikationen zwischen den einzelnen Einrichtungen kommen kann.
Zuerst sollte man sich überlegen welche Netzwerkschnittstelle man nutzen möchte, in meinem Fall war das die einzige Kabelschnittstelle die mein Laptop zur Verfügung hatte unter Linux als eth0 bezeichnet.
Um zu verhindern, dass es lustige Überschneidungen mit meinem WLAN gibt habe ich ein anderes Subnet gewählt (192.168.3.x statt 192.168.1.x).
Zuerst empfiehlt es sich dann die MAC-Adresse der Schnittstelle über ifconfig herauszufinden. Ifconfig gibt einem in etwa so eine Antwort:

1
2
3
4
5
6
7
eth0      Link encap:Ethernet  Hardware Adresse <strong>XX:XX:XX:XX:XX:XX</strong>  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Speicher:f8200000-f8220000

Wobei statt den XXen natürlich die richtige MAC-Adresse steht. Diese schreibt man sich auf oder kopiert sie in die Zwischenablage (markieren mit der Maus, Strg-Shift-C).
Dann editiert man die DHPC Konfiguration, ich verwende gerne Nano, man kann aber einen anderen Texteditor nach Wahl verwenden:

1
nano /etc/dhcp3/dhcpd.conf

Diese ändert man ab bis nur noch folgende Einträge vorhanden sind:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
# Eigene Konfiguration ab hier -------
next-server  192.168.3.10;  # Server für Bootvorgang festlegen
allow bootp;  # BootP erlauben
allow booting; # booten erlauben
# Subnetzmaske definieren
option subnet-mask  255.255.255.0;
# ping erlauben
ping-check = 1;
# Wichtig - Dateiangabe für PXE
filename="pxelinux.0";
# Subnetz-IP-Adresse
subnet 192.168.3.0;
# zugelassene IP-Adressen einstellen
netmask 255.255.255.0 {
range 192.168.3.11  192.168.3.254
}
# Dem eigenen Server eine feste IP zuweisen
host pxeserv{
   hardware ethernet  <strong>XX:XX:XX:XX:XX:XX</strong>
   fixed-address 192.168.3.10
}

Die XXe wieder mit der bereits gesicherten MAC-Adresse ersetzen.
Damit wäre die Konfiguration des DHCP-Servers bereits abgeschlossen.

Als nächstes legen wir das Verzeichnis /var/lib/tftpboot/ an (bei mir war es bereits vorhanden):

1
mkdir -p /var/lib/tftpboot

Und wenn wir gerade dabei sind können wir auch gleich das Verzeichnis /var/lib/tftpboot/pxelinux.cfg anlegen (ja es ist wirklich ein Verzeichnis und keine Datei):

1
mkdir -p /var/lib/tftpboot/pxelinux.cfg

Dann benötigen wir noch ein weiteres Verzeichnis für das Mounten des Images für das NFS-System:

1
mkdir -p /mnt/fedora

Dann konfigurieren wir tftp, dazu editieren wir die Datei /etc/xinetd.d/tftp:

1
nano /etc/xinetd.d/tftp

Diese Datei sollte dann so aussehen (Copy & Paste ;)):

1
2
3
4
5
6
7
8
9
10
service tftp
{
     disable = no
     socket_type = dgram
     wait = yes
     user = root
     server = /usr/sbin/in.tftpd
     server_args = -v -s /var/lib/tftpboot
     only_from = 192.168.3. 127.0.0.1
}

Das war dann auch schon die Konfiguration von tftp.

NFS ist noch einfacher zu konfigurieren indem man einfach die Datei /etc/exports:

1
nano /etc/exports

Hier muss einfach das Mountverzeichnis und die Leseberechtigungen angegeben werden :

1
/mnt/fedora  192.168.3.0/24 (ro,sync)

So nun müssen wir nur noch ein paar Dateien an ihren vorgesehen Ort bringen und die PXE Konfiguration durchführen.

Dazu mounten wir das Fedora Image:

1
mount -o loop <strong>/home/fedora.iso</strong> /mnt/fedora

Wobei man natürlich den richtigen Pfad zum Image nehmen sollte.

Dann kopieren wir zwei wichtige Dateien (vmlinuz und initrd.img):

1
2
cp /mnt/fedora/images/pxeboot/vmlinuz /var/lib/tftpboot
cp /mnt/fedora/images/pxeboot/initrd.img /var/lib/tftpboot

Jetzt fehlt nur noch die Konfiguration von PXELINUX, dazu legen wir einfach die default Konfiguration fest, theoretisch kann man für jeden PC im Netz eine eigene Konfiguration abspeichern und so für jeden PC ein eigenes System booten lassen.

1
nano /var/lib/tftpboot/pxelinux.cfg/default

Hier sind nur ein paar Zeilen einzufügen:

1
2
3
4
5
default linux
timeout 25
label linux
        kernel vmlinuz
        append initrd=initrd.img

Damit ist eigentlich alles soweit fertig, nun müssen die Dienste nur noch alle gestartet werden:
Falls das Image gemountet ist, muss es jetzt erneut gemountet werden (siehe oben).

1
2
3
4
ifconfig eth0 192.168.3.10
/etc/init.d/dhcp3-server restart
/etc/init.d/xinetd restart
/etc/init.d/unfs3 restart

Jetzt sollte sich der angeschlossene PC über das Netzwerk booten lassen und nach einiger Zeit sollte ein recht hässlicher Miniinstaller von Fedora sichtbar sein, dieser fragt nach Sprache, Tastaturlayout und danach nach der Installationsquelle. Hier könnte man den Rechner wohl auch über Kabel wieder an einen Router anschließen und eine HTTP-Quelle angeben. Da wir uns aber schon für NFS entschieden haben wählen wir NFS aus. Die Netzwerkschnittstelle lassen wir automatisch konfigurieren.
Als NFS-Server nehmen wir 192.168.3.10 und als Verzeichnis /mnt/fedora
Jetzt passiert eine zeitlang scheinbar nichts mehr, allerdings kann man an den Netzwerkschnittstellen kontrollieren ob etwas übertragen wird.

Damit sollte sich dann die grafische Fedorainstallation starten.