Archiv

Archive for the ‘Gentoo’ Category

Awesome Battery Widget

Seit einer Woche bin ich stolzer Besitzer eines Netbooks (Lenovo S10-3).

Auf dem Netbook läuft natürlich Gentoo mit aktuellem 2.6.38 Kernel (leider noch ~amd64), den brauche ich für den W-LAN-Chip (bcm4313) in dem Netbook. Dort wird nämlich der seit 2.6.37 enthaltene Staging Treiber brcm80211 benötigt. Über Google solltet ihr aber mehr dazu finden. Ein kleiner Tipp hier schon, wenn ihr die sys-kernel/linux-firmware installiert müssen die Symlinks noch angepasst werden ;).

Soviel also dazu.

Als Window-Manager setze ich awesome ein. Leider bietet awesome keine Widget zur Anzeige des Akku-Ladestandes bzw. wird eines angeboten über die Vicious Bibliothek, welches aber bei mir nicht funktioniert hat.
Deshalb hab ich mir gedacht, ich bau mir da selbst was.

Gesagt, getan….

Ich habe mir folgendes Script geschrieben, welches mit Hilfe von sys-power/acpi die Ladezustand bzw. die verfügbare Kapazität ausliest.


#!/bin/bash

# Get ACPI-State
str_ACPI=$(acpi | awk '{print $4}')
str_State=$(acpi | awk '{print $3}')

# Get Length of strings
i_ACPI_Length=$(expr length $str_ACPI)
i_State_Length=$(expr length $str_State)

# Get length of the strings without comma
let i_New=$i_ACPI_Length-1
let i_StLen=$i_State_Length-1

# Get substrings to delete comma
i_State=${str_ACPI:0:$i_New}
str_State=${str_State:0:$i_StLen}

# Print state;
# Return state to rc.lua

echo " $str_State $i_State"

Der Zustand des Akkus und die Restkapazität werden dann mit Hilfe des echo-Befehls zurückgegeben.

Dieses Script wird automatisch alle 10 Sekunden aus der lua.rc aufgerufen.
Hier mal der Code dazu:


-- Eigenes Widget
mybat = widget( {type = "textbox"} )
mytimer = timer( {timeout = 10 } )
mytimer:add_signal("timeout",  function() local fd =  io.popen("/home/fabi/Programmierung/Bash/bat_state.sh") mybat.text =  fd:read("*a") fd:close() end)
mytimer:emit_signal("timeout")
mytimer:start()

Der Timer (mytimer) ruft das Script alle 10 Sekunden auf, und der übergebene Wert wird in den Inhalt des zuvor erstellten Text-Widget mybat geschrieben.

Dieses Widget muss nun noch in den Tray eingefügt werden:


mywibox[s].widgets = {
 {
 mylauncher,
 mytaglist[s],
 mypromptbox[s],
 layout = awful.widget.layout.horizontal.leftright
 },
 mylayoutbox[s],
 mytextclock,
 mybat,
 s == 1 and mysystray or nil,
 mytasklist[s],
 layout = awful.widget.layout.horizontal.rightleft
 }

So, nun sollte das ganze funktionieren.

Hier mal ein paar Screenshots davon:

Laufen bzw. getestet ist das ganze unter awesome 3.4.8.

Das Script wurde auch schon hier im Winfuture-Forum veröffentlicht. Entstanden ist das ganze mit freundlicher Unterstützung von psychon aus dem Winfuture-IRC-Channel (irc.spotchar.org/#winfuture).

Für Kritik und Anregungen bin ich wie immer dankbar.
Viel Spaß damit.

TP-LINK TL-WN821N unter Linux (Gentoo)

Mein alter RTL8187 USB W-LAN Stick hat jetzt endlich auch ausgedient, bzw. musste ich ihn ersetzen, da ich unglücklich
dran gestoßen bin und er einen Wackelkontakt hatte.

Ich habe ihn dann durch einen TP-LINK TL-WN821N ersetzt. Dieser Stick hat einen Atheros 9170 Chipsatz. Dieser Chipsatz wird momentan leider noch nicht
komplett von Haus aus vom Linux Kernel unterstützt. Aber um ihn zu verwenden sind nur wenige Schritte notwendig.

Also, zuerst müssen folgende Treiber im Kernel aktiviert werden:

Kernel Option

Kernel Option

Zu finden ist die Option unter „Device Drivers->Network Device Support->Wireless Lan->Atheros Wireless Cards„.

Als nächstes benötigen wir die Firmware für das Gerät, ohne diese Firmware kann der Stick nicht verwendet werden.
Zu finden ist die aktuelle Firmware hier: http://linuxwireless.org/en/users/Drivers/ar9170.fw.
Dort muss die Datei ar9170.fw runtergeladen werden. Diese Firmware-Datei sollte dann nach /lib/firmware kopiert werden (kann auch ein anders Verzeichnis sein, falls nicht vorhanden, einfach erstellen!!).

So jetzt kann der Kernel vollends konfiguriert werden. Dazu navigiert man zu folgendem Punkt: Device Drivers -> Generic Driver Options.

Dort muss der Punkt „Include in-kernel firmware blobs in kernel binary“ ausgewählt werden. Bei dem Punkt „External firmware blobs to build into the kernel binrary“ muss der Name der Firmware (ar9170.fw) angegeben werden.
Unter dem letzten Punkt muss der Speicherort der Datei angegeben werden. Im hier beschriebenen Fall ist das /lib/firmware.

Firmware laden

Firmware laden

Danach kann der Kernel ganz normal gebaut werden.

Getestet wurde das ganze unter:

System: Gentoo Linux
Kernel: 2.6.34-gentoo-r12 (x86_64)

Die Anleitung sollte auch für andere Distributionen funktionieren, bei denen man keinen eigenen Kernel verwendet. Die Firmware-Datei muss dann nur an den richtigen Platz kopiert werden, wie z.B. /lib/firmware, /usr/bin/firmware, etc. Über das Wiki der jeweiligen Distri sollte das herauszufinden sein.

Kategorien:Gentoo, Kernel, Linux, WLAN Schlagwörter: , , , , , ,

Netwmpager – Ein nettes Tool für die Verwaltung von virtuellen Desktops

Um meine vier virtuellen Desktops zu verwalten verwende ich netwmpager.
Die Desktops und der jeweilige Inhalt der Desktops werden mir immer angezeigt und ich kann schnell und einfach wechseln.

Anwendungen lassen sich per Drag&Drop zwischen den Bildschirm hin und her ziehen, ohne das man den aktuellen Desktop verlassen muss.

Hier mal ein paar Screenshots:

netwmpager

netwmpager

Kompletter Bildschirm

Netwmpager auf dem Desktop

Hier noch die jeweilige Config dazu:


# copy this file to ~/.config/netwmpager/config

# desktop layout
# set both to -1 to use default values (set by window manager)
cols = 4
rows = 1

# window geometry
# set height to 0 to make it automatically calculated
# BreitexHoehe - links+unten
geometry = "700x100-1215+960"

# show window title popups?
show_popups = true

# show sticky windows in pager?
show_sticky = false

# show window titles in pager?
show_titles = true

# below, normal, above
layer = "above"

# opacity. 0.0 = transparent, 1.0 = normal
# Requires Xcomposite extension in X and
# xcompmgr or composition manager in WM.
opacity = 0.30

# allow other windows to cover pager?
#allow_cover = false

# -- fonts --
# run `fc-list' to see available fonts
#
# format: "<family>:<option>=<value>:<option>=<value>..."
#
# some options:
#   size       font size
#   weight     light, medium, demibold, bold or black
#   slant      roman, italic or oblique
#   antialias  true or false
#
# More information: http://www.keithp.com/~keithp/render/Xft.tutorial

popup_font = "Verdana:size=8"
window_font = "Verdana:size=7"

# -- colors --

active_desk_color = "rgb:03/1E/55"
inactive_desk_color = "rgb:03/0D/31"
win_border_color = "rgb:ff/ff/ff"
grid_color = "rgb:0/0/0"

active_win_color = "rgb:D2/D1/CF"
active_win_font_color = "rgb:0/0/0"

inactive_win_color = "rgb:42/42/42"
inactive_win_font_color = "rgb:F4/F4/F4"

popup_color = "rgb:e6/e6/e6"
popup_font_color = "rgb:0/0/0"

 

Um Transparenz nutzen zu können, sollte xcompmgr aktiviert werden.

Kategorien:Gentoo, Linux, Netwmpager Schlagwörter: , , , ,

Backup Script

September 24, 2010 Hinterlasse einen Kommentar

Hier mal mein Backupscript zum sicher meiner /home-Partition.
Das Script steht unter der LGPL.

Ich nutze es in Verbindung mit vixie-cron. Das Script macht eine alles 15 min ein Backup.

Abhängigkeiten:
rdiff-backup

</span>#!/bin/bash

#Backup-Script um Backups der Ordner /home und /etc
#Mit kleiner Logging-Funktion
#Die Log-Files werden nach /home/$user/BackupLog geschrieben

#Definition des Backup-Directories für den /home-Ordner
bkphome="/mnt/backup/workstation/home"
#Definition des Backup-Log-Files
bkplog="/home/fabi/BackupLog/log.txt"
#Definition des Backup Devices
bkpdev="/dev/sdb1"


#Überpfüfen ob das Tool rdiff-backup installiert ist
bkptool=`which rdiff-backup`

if [ $bkptool ]
then
 #Auslesen ob auf dem Backup-Medium genügen Speicher vorhanden ist.
 devinf=`df -h | grep $bkpdev | awk '{print $5}'` #Used Ausgabe von df-h
 rest=`expr match "$devinf" '\(.*[0-9]\)'` #Zahlen von Buchstaben trennen; für Vergleich
 echo $rest
 #Wenn mehr als 90% belegt sind erhält der User eine Meldung
 if [ $rest -lt "90" ]
 then
 #------------------------------/home-Backup----------------------------start
 rdiff-backup --exclude /home/lost+found /home $bkphome


 #Überprüfen des Return-Codes
 if [ $? -eq 0 ]
 then
 date >> $bkplog #Ausgabe des Datums
 echo "/home-Backup wurde erfolgreich ausgeführt." >> $bkplog
 echo "Verwendeter Speicher: " >> $bkplog
 echo $rest"%" >> $bkplog
 echo >> $bkplog #Leerzeile ausgeben
 else
 errcode=$?
 date >> $bkplog #Ausgabe des Datums
 echo "/home-Backup konnte nicht erfolgreich ausgeführt werden." >> $bkplog
 echo "Verwendeter Speicher: " >> $bkplog
 echo $rest"%" >> $bkplog
 echo "Return-Code = " >> $bkplog
 echo $errcode >> $bkplog #Return-Code ausgeben
 echo >> $bkplog #Leerzeile ausgeben
 fi
 #------------------------------/home-Backup----------------------------end
 else
 xmessage -center "Weniger als 10% Speicherplatz sind auf dem Backupmedium vorhanden."
 date >> $bkplog
 echo "Zu wenig Speicher auf dem Medium vorhanden." >> $bkplog
 echo "Genutzter Speicherplatz: " >> $bkplog
 echo $rest"%" >> $bkplog
 echo $bkplog
 fi
else
 xmessage -center "Bitte rdiff-backup installieren! Programm wird beendet."
 date >> $bkplog
 echo "Bitte rdiff-backup installieren! Programm wird beendet." >> $bkplog
 echo >> $bkplog
fi
<span style="color: #000000;">

Kategorien:BASH, Debian, Gentoo, Linux, Terminal, VIM

Das iPhone 3GS und Linux

Juli 17, 2010 2 Kommentare

Seit ca. Monaten bin ich dank des Imports von Vodafone (aus Italien) stolzer Besitzer eines iPhone 3GS.
Jetzt ist natürlich die Frage wie kann ich mein iPhone unter Linux updaten und vorallem wie kann ich Musik darauf übertragen?
Was ich versuchen werde ist das ganz über das Programm GTKPod zu realisieren (zumindest die Musik).
Falls das nicht funktionieren sollte werde ich es mal mit VirtualBox und einer VM versuchen. Eine Windows Installation möchte ich deshalb eigentlich nicht. Wine wäre natürlich auch noch eine Möglichkeit die ich mal ins Auge fassen werde.

Falls und wie ich dann Erfolg habe, werde ich das natürlich hier Posten.

Update: Laut der Wine Datenbank funktioniert die aktuelle iTunes Version mit Wine nicht so toll, aber testen werde ich es auf jeden fall, Link zur Datenbank.

Kategorien:Gentoo, iPhone, iTunes, Linux Schlagwörter: , ,

Backups – Ersatz für Timemachine

An meinem iMac war ich dank TimeMachine meiner Meinung nach vor Datenverlust sehr gut abgesichert.
Mir gefällt/gefiel TimeMachine immer sehr gut, alle Daten wurden in relgemäßigen Abständen und im laufenden Betrieb gesichert.
So ging mir nie was verloren.

Nun unter Linux war die Frage, was nehme ich jetzt für meine Backups.
Ich habe verschiedene Anforderungen an das Backup Tool.

Die Backups sollten automatisch in bestimmten Zeitabständen erstellt werden, es sollten verschieden Stände gesichert werden und der Restore sollte auch schnell und unkompliziert von statten gehen.

Ich habe mir folgende Tools angesehen, zum einen gibt es da FlyBack. Was mich hier eigentlich nur bzw. so gestört hat, dass ich das Tool nicht verwende ist das es nicht über Portage verfügar ist.
Ein weiteres Tool das ich mir angeschaut habe ist BackInTime, dieses Tool erfüllt eigentlich alle Anforderungen die ich habe, leider ist es nur per GUI konfigurierbar. Für die GUI hätte ich Gnome installieren müssen (oder KDE), da ich mein System aber von allem frei halten will, was ich nicht wirklich brauche wollte ich das nicht installieren.

Nach einiger Recherche bin ich dann bei rdiff-backup gelandet. Mit diesem CLI-Tool kann ich meine Daten (/home und /etc) auf meine externe Festplatte sichern.

Damit das ganze permanent abläuft werde ich eine BASH-Script bauen das alles nötige ausführt, ein Log-Schreibt und im Fehlerfall informiert.
Das ganze wird dann z.B. alle 15 min. per Cronjob ausgeführt. Da muss ich aber mal noch schaun wie ich das am besten mache.

Wenn ich das ganze dann fertig habe werde ich es natürlich hier posten.

Kategorien:BASH, Gentoo, Linux Schlagwörter:

Back to Linux

Weil mir Linux doch sehr gefehlt hat und ich bei meinem Notebook (Dell Latitude D531) ein Festplatten-Upgrade gemacht habe, hab ich mich dazu entschieden neben Windows 7 (Professional) Gentoo Linux darauf zu installiern.

Trotz der ATI-Grafikkarte läuft der X-Server, und ich bin gerade am kompilieren von KDE dran.

Wenn das ganze dann richtig eingerichtet ist, werd ich sicher noch mehr darüber berichten.

Kategorien:Gentoo, Linux Schlagwörter: , , , , ,