A következő címkéjű bejegyzések mutatása: waldorf. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: waldorf. Összes bejegyzés megjelenítése

2015. január 3., szombat

Hatékony munkakörnyezet készítése Zsh terminállal

A Linux rendszerek felhasználói általában terminálok segítségével érik el céljaikat. Fejlesztőként nagy segítség lehet egy jól összerakott Linux környezet, de átlagfelhasználóként is fontos annak használhatósága. A Linux és OSX rendszereken általában a Bash shell az alapértelmezett, ennél azonban sokkal jobban testreszabhatóbb és fejlettebb az ezen cikk alapjául is szolgáló Zsh.

## Zsh telepítés
$ sudo apt-get install zsh
## beállítás alapértelmezett shell-ként
$ chsh -s `which zsh`

A legjobb dolog a Zsh-val kapcsolatban, hogy funkcionalitása pluginekkel könnyen kiterjeszthető. A legnépszerűbb módja a Zsh konfiguráció kezelésének az Oh My Zsh, mely a Zsh felhasználói közösség által készített keretrendszer.

## Oh My Zsh telepítés
$ curl -L http://install.ohmyz.sh | sh

jump, z

A pluginek az Oh My Zsh telepítésével már fel is lettek telepítve, csak engedélyezni kell őket a ~/.zshrc fájlban. Az elérhető pluginekről itt lehet bővebben olvasni. A következő plugineket mindenkinek ajánlom, sokkal produktívabbá teszik a parancssoros környezeteket, korábban már Bash shell-nél is használtam őket. A jump nevű kiegészítéssel gyakran használt könyvtárakat menthetünk el könyvjelzőként és később gyorsan ugorhatunk hozzá; míg a z plugin egy autojump variáns, amely megjegyzi, hogy milyen mappákba lépünk be gyakran és reguláris kifejezések illesztésével megpróbál a legjobb mappába ugrani. Példa a használatukra:

## jump
$ cd /very/very/very/very/very/long/path
## mentés könyvjelzőbe
$ mark longpath
$ cd ~/
## ugrás könyvjelzőhöz
$ jump longpath
$ pwd
/very/very/very/very/very/long/path
## mentett könyvjelzők listázása
$ marks
longpath  -> /very/very/very/very/very/long/path
## könyvjelző törlése
$ unmark longpath
## z
$ cd ~/
## legjobban illeszkedő mappába ugrás
$ z path
$ pwd
/very/very/very/very/very/long/path

Syntax highlight

Egy másik nagyon jó kiegészítés, amely nincs benne az alap pluginek között a shell syntax highlight. Ezt a feature-t a Fish shellből kölcsönözték és rendkívül hasznos, hogy az enter leütése nélkül is látszik, hogy helyes-e az adott parancs.

## syntax highlight plugin telepítése
$ cd ~/.oh-my-zsh/custom/plugins
$ git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
## hozzáadás a ~/.zshrc plugins listához
$ sed 's/plugins=(\(.*\))/plugins=(\1 zsh-sytax-highlighting)/' -i ~/.zshrc

apt-fast

Ha voltál már vele úgy, hogy untad a hosszan tartó apt-get vagy aptitude letöltéseket, akkor ez a kiegészítés szintén neked szól. Az apt-fast egy wrapper, mely párhuzamosan több szálon tölti le a csomagokat, így drasztikusan csökkentve a letöltések várakozási idejét. Az Oh My Zsh keretrendszer tartalmaz autocomplete funkciót az apt-fast-hoz is.

## apt-fast telepítése
$ sudo add-apt-repository 'deb http://ppa.launchpad.net/saiarcot895/myppa/ubuntu utopic main'
$ sudo apt-get update
$ sudo apt-get install apt-fast

t

A következő kis program más módon teszi még használhatóbbá a terminálunkat. Ez pedig a t, mely egy rendkívül egyszerű, kevés feature-rel rendelkező, de azokat nagyon jól végző TODO list manager. Erőssége abban rejlik, hogy a teendőinket szöveges fájlba tárolja el, mely tulajdonságot - a Linux rendszereken megszokott módon - sok féleképpen kihasználhatunk: szerkeszthetjük, feldolgozhatjuk bármilyen szövegszerkesztővel, verziókezelhetjük, szinkronizálhatjuk gépek között teendőinket. Használata nagyon egyszerű:

## taskok létrehozása
$ t First task.
$ t Second task.
## taskok listázása
$ t
1 - First task.
2 - Second task.
## task törlése
$ t -f 1
$ t
2 - Second task.
## task szerkesztése
$ t -e 2 Other task.
$ t
2 - Other task.

Telepítése:

## t telepítése
$ mkdir -p ~/.scripts/t
$ git clone https://github.com/sjl/t.git ~/.scripts/t
$ mkdir ~/.tasks
## alias létrehozása t-re
$ alias t='python ~/.scripts/t/t.py --task-dir ~/.tasks --list tasks'

alias

Az Oh My Zsh rengeteg operációsrendszer specifikus alias-t tartalmaz, melyek könnyebbé teszik a munkát, de néhány sajáttal kiegészíteném a listát.

alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ......="cd ../../../../.."

## biztonságos fájlműveletek
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

## telepítés egyszerűsítése
alias install='sudo apt-fast -y install' 
alias search='apt-cache search' 
alias purge='sudo apt-fast -y purge'

## vágólapkezelés
alias xclip='xclip -selection c'

## t
alias t='python ~/.scripts/t/t.py --task-dir ~/.tasks --list tasks'

Az xclip parancs segítségével terminálból vágólapra helyezhetünk szövegeket a következő módon:

## ilyenkor az 123 szöveg lesz a vágólapon
$ echo 123 | xclip

Összefoglalás

Látható, hogy a terminálunkból egy igen hatékony eszközt tudunk varázsolni, egy kis munkával. Ha fejlesztő vagy, nem nagyon lehet elkerülni a parancssoros környezetek használatát, így érdemes azok használatát megtanulni, és hogy ez ne járjon akkora fájdalommal, érdemes úgy beállítani a környezetet, hogy abból a legtöbbet tudjuk kihozni.

2014. november 14., péntek

Skype telepítése 64 bites rendszerre

A Skype programot valószínűleg mindenki ismeri így nem kell bemutatnom. Ha az általunk használt repository-kban nem található meg, letölthetjük előcsomagolt bináris változatban és azt telepíthetjük, vagy kicsomagolás után egyből futtathatjuk a tömörített verziót. Mindezek azonban csak a 32 bites Linux változatra igazak, 64 bites rendszer esetén nem tudjuk ilyen egyszerűen telepíteni a programot.

Először engedélyeznünk kell 32 bites programok telepítését, majd a Skype for Debian 7 (multiarch) változatot letöltve lehet telepíteni. A .deb kiterjesztésű csomag telepítése azonban sikertelen lesz néhány függőség hiányában, így azokat is telepíteni kell. A teljes folyamat a következő:

$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ wget http://www.skype.com/go/getskype-linux-deb-32 -O skype.deb
## feloldatlan függőségek miatt itt még nem fog települni a Skype
$ sudo dpkg -i skype.deb
## folytatnunk kell a telepítést a függőségek telepítésével, itt már a Skype telepítése sikeres lesz
$ sudo apt-get install -f

Sok sikert a telepítéshez!

2014. szeptember 16., kedd

Crunchbang Waldorf (Debian) frissítése Sid-re

Egy ideje már fontolgattam, hogy áttérek Crunchbang-emmel a Debian Sid tárolóira, mely a Debian disztribúció instabil változatát jelöli (a kiadás neve egyben egy szójáték, mely a Still in development rövidítése). Felelőtlen lépésnek tűnhet instabil szoftverekből álló rendszert használni, de korántsem így áll a helyzet, mert például az Ubuntu disztribúció is ezekre a csomagokra épül, és meglehetősen stabilnak mondható. Legnagyobb előnye ennek a módszernek, hogy így a legújabb szoftvereket használhatjuk rendszerünkben, és azok függőségei miatt nem (vagy legalábbis ritkábban) találkozhatunk a dependency hell jelenségével. A Debian változatok csak stable és testing változatokban érhetőek el saját telepítőlemezzel, így sid-et csak a következő módszerrel telepíthetünk. A leírást a Crunchbang-re vonatkozó részekkel fogom kiegészíteni.

  1. Először is adjunk hozzá néhány csomagtárolót a szoftverforrásainkhoz. Az /etc/apt/sources.list fájl a következő sorokat tartalmazza:
# Stable
deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://ftp.us.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.us.debian.org/debian/ stable main contrib non-free

# Testing
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
deb http://ftp.us.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free

# Unstable
deb http://ftp.de.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.de.debian.org/debian/ unstable main contrib non-free
deb http://ftp.us.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian/ unstable main contrib non-free

# Security
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

# Crunchbang
deb http://packages.crunchbang.org/waldorf waldorf main
deb-src http://packages.crunchbang.org/waldorf waldorf main

# Debian Backports
deb http://http.debian.net/debian wheezy-backports main contrib non-free

# Debian Multimedia
deb http://www.deb-multimedia.org wheezy main non-free

Egy elég jó sources.list fájl generáló található itt, ha valaki magának szeretné összeválogatni a tárolókat.

  1. Növeljük meg az apt program cache-ét:
$ echo 'APT::Cache-Limit "134217728";' | sudo tee /etc/apt/apt.conf.d/99cache
  1. Adjunk prioritásokat a különböző szoftververziókhoz (ezt APT pinning-nek is nevezik), így alapértelmezetten a sid verziókat fogjuk telepíteni, de szükség esetén, ha egy program nem található, akkor fallback-elünk testing, vagy stable verziókra. Az /etc/apt/preferences fájl tartalma legyen a következő:
Package: *
Pin: release a=unstable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=stable
Pin-Priority: 600

Package: *
Pin: release a=waldorf
Pin-Priority: 550

Package: *
Pin: release a=wheezy-backports
Pin-Priority: 500

Package: *
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 450
  1. Frissítsük csomagjainkat és távolítsuk el, amikre már nincs szükségünk:
$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get -y dist-upgrade && sudo apt-get clean && sudo apt-get autoclean && sudo apt-get autoremove

Ez a fenti folyamat sokáig eltarthat, és lehetséges, hogy valahol elakad, ekkor manuálisan kell megoldanunk a problémát, és újra lefuttatni a fenti parancsokat.

Kiegészítés Crunchbang-hez

  1. A tint2 taskbar egy grafikus konfiguráló programja miatt, lehet, hogy nem sikerül frissíteni a tint2-őt, így először távolítsuk el majd csak utána frissítsük a tint2-t.
sudo apt-get purge tint2conf
sudo apt-get install -f
  1. A Crunchbang-hez tartozó saját csomagokat telepítsük újra:
sudo apt-get install --reinstall cb-lock cb-conky cb-exit cb-wmhacks cb-pipemenus cb-configs cb-slim
  1. Ha olyan témát használtunk korábban Crunchbang-ben, ami nem támogatja a GTK3 verziót, akkor itt bemutatom a waldorf téma GTK3-at is támogató verziójának beállítását. Elsőként töltsük le a módosított waldorf témát innen. Majd csomagoljuk ki valahova a tömörített Openbox témát, állítsuk be lxappearance segítségével, és érvényesítsük a GTK3 használatát:
$ sudo tar -xvzf waldorf.tar.gz -C /usr/share/themes
## állítsuk be `lxappearance` segítségével az előbb kicsomagolt témát
$ lxappearance
## érvényesítsük a GTK3 téma beállítását.
$ mkdir -p ~/.gtk-3.0
$ ln -s ~/.config/gtk-3.0/settings.ini ~/.gtk-3.0
  1. A slim login manager program témája is átállítódik a frissítés után, így ha az alap Crunchbang-es témát szeretnénk visszaállítani, akkor az /etc/slim.conf fájlban kell a current_theme értékét waldorf-ra állítanunk.

  2. A power manager újabb verziójában van egy bug, ami miatt nem jelenik meg tint2-ben az akkumulátor töltöttséget jelző kis ikon. Ennek megoldására telepítsük fel a stable változatát a programnak:

## először távolítsuk el a korábbi változatot
$ sudo apt-get purge xfce4-power-manager xfce4-power-manager-data
## telepítsük a stable változatot
$ sudo apt-get -t stable install xfce4-power-manager
  1. Indítsuk újra a gépet, és élvezzük a friss és ropogós programjainkat!

2014. január 31., péntek

Conky: Gmail szkript

Eljött az ideje, hogy lecseréljem az ősrégi Conky olvasatlan emailszám kijelző szkriptemet, mely egy nem teljesen erre a célra készített Perl szkript volt eddig. Megírtam tehát alig pár sorban Python3 segítségével az új verziót, mely körülbelül kétszer gyorsabb, mint az eredeti Perl szkript, valamint hálózati kapcsolat nélkül sem száll el.

Telepítéséhez szükség lesz a python-requests csomagra:

$ sudo apt-get install python-requests

Majd hozzunk létre egy fájlt, és illesszük be a szkriptet:

$ mkdir -p ~/.scripts
$ touch ~/.scripts/gmailToConky.py
$ chmod +x ~/.scripts/gmailToConky.py
$ gedit ~/.scripts/gmailToConky.py

Itt a szkript:

Így használhatjuk Conky-ban:

You have ${texeci 300 python ~/.scripts/gmailToConky.py} new gmail(s).

Megjegyzés: a korábbi Conky-hoz való szkriptjeim is frissültek (The Old Reader szkript, Google Calendar szkript), használatuk kis mértékben változott a Python3-ra való áttérés miatt.

2013. december 26., csütörtök

$HOME mappa titkosítása

Mindig érdemes a legrosszabbra készülni, és bár a legtöbben nem gondolnak rá, ha idegen kezekbe kerül a számítógépünk, akkor az adataink már nincsenek biztonságban. Sok fejfájástól szabadíthatjuk meg magunkat, ha valamilyen módon titkosítjuk az adatainkat. Ehhez nem is kell akkora áldozatot hoznunk, a műveletek végrehajtása se túl bonyolult, így csak magunkat hibáztathatjuk, ha nem gondolkozunk előre.

A következő titkosítási lehetőség az eCryptfs lesz, mely egy titkosított fájlrendszer amely transzparens módon működik a használt fájlrendszer fölött. Előnyei a blokk szintű titkosítással ellentétben (mint például a dm-crypt, vagy TrueCrypt), hogy nincs szükség előre allokált helyre a titkosításhoz, nem kell külön partíciót létrehozni, és viszonylag könnyű a használata. A hátrányok közé tartozik, hogy teljes partíciót nem lehet vele titkosítani (így például swap-et sem), valamint a ritka fájlok kezelésekor a teljes lefoglalt méretet titkosítja sok erőforrást felhasználva (így például Bittorrent fájlok titkosítására nem igazán hatékony).

Az újabb disztribúciók telepítéskor gyakran választhatjuk könyvtárak titkosításának létrehozását (az Ubuntu is eCryptfs-t használ, a $HOME könyvtár titkosításához), azonban később is titkosíthatjuk ezzel a módszerrel a $HOME könyvtárunkat. A titkosítás csak bejelentkezés után lesz feloldva, így senki nem férhet hozzá illetéktelenül az adatainkhoz.

  1. Telepítsük az eCryptfs kezelését megkönnyítő szkripteket:
$ sudo apt-get install ecryptfs-utils
  1. Töltsük be az eCryptfs kernel modult:
$ sudo modprobe ecryptfs
  1. Hozzunk létre egy root jogosultságokkal rendelkező felhasználót, ahova át kell lépnünk, míg a saját felhasználónk könyvtárát titkosítjuk.
$ sudo adduser testuser
$ sudo adduser testuser sudo
  1. Jelentkezzünk ki (logout), lépjünk át tty6-ra (CTRL + ALT + F6), lépjünk be az előbb létrehozott felhasználóval, majd ellenőrizzük, hogy nincs-e tényleg bejelentkezve a titkosítani szánt felhasználónk.
$ ps -fu <username>
  1. Titkosítsuk a $HOME könyvtárat:
$ sudo ecryptfs-migrate-home -u <username>
  1. Ha készen van, még újraindítás előtt jelentkezzünk ki (logout), lépjünk vissza tty7-re (CTRL + ALT + F7), lépjünk be az eredeti felhasználóval.

  2. Írjuk fel egy biztonságos helyre, és őrizzük meg a titkosítás feloldásához szükséges kódot:

$ ecryptfs-unwrap-passphrase
  1. Töröljük az ideigleneses létrehozott felhasználót, és a $HOME könyvtárunk titkosítatlan mentését:
$ sudo userdel -r testuser
$ rm -rf /home/<username>.<random karakterek>

Megjegyzés:

Innentől kezdve más rajtunk kívül más nem férhet hozzá az adatainkhoz. Meg kell jegyeznem még, hogy ha használunk swap-et, akkor előfordulhat, hogy egyes adataink a swap-re kerülnek, így azokat is érdemes titkosítani. Én SSD-t használok, így swap partícióm sincsen, de aki használ annak, hogy teljes legyen a kép leírok egy megoldást a swap titkosítására is. Telepítsünk egy eszközt (ez a megoldás a korábban már említett dm-crypt-et használja), amivel lehetséges a swap titkosítása, majd titkosítsuk azt.

$ sudo apt-get install cryptsetup
$ sudo ecryptfs-setup-swap

Ha titkosítjuk a swap-et nem fogjuk tudni hibernálni a gépünket, erre érdemes ügyelni!

2013. május 31., péntek

Cubby használata Linux alatt

Most a magyar LogMeIn cég által készített Cubby névre keresztelt online fájlszinkronizációs és tárhelymegoldás használatát fogom bemutatni Linux környezetben. Először is: mire képes a Cubby? Funkcióját tekintve nagyon hasonlít a már elérhető fájlszinkronizáló megoldásokhoz, például a Dropbox-hoz, ennek ellenére több tekintetben is különbözik tőlük. Az egyik különbség a Direct Sync névre hallgató funkció, ami két gép között képes P2P-n keresztül, azaz a cloudba való feltöltés nélkül fájlokat szinkronizálni. Ezzel a megoldással nem használjuk fölöslegesen a cloud tárhelyét, mely ingyenes regisztráció után 5 Gb, további meghívottak regisztrációjával 25 Gb-ra lehet növelni. Másik hasznos funkció, hogy nem csak egy könyvtárat képes kezelni a Cubby, mint Dropbox esetén, hanem bármely mappából cubby-t készíthetünk.

Natív kliens csak Windows és Mac OS X, valamint mobil eszközöknél Androidra és iOS rendszerekre érhető el. Linux esetén (és más WebDAV protokoll kliens oldali támogatással rendelkező rendszer esetén) hozzáférhetünk a Cubby-hoz WebDAV-on keresztül is.

Ehhez először telepítsük a davfs2 nevű programot, mellyel Coda vagy FUSE eloszott fájlrendszeren keresztül csatlakozhatunk a WebDAV szerverhez. Ezután állítsuk be a mountoláshoz szükséges dolgokat és csatoljuk a Cubby-t.

# telepítsuk a davfs2-t
$ sudo apt-get install davfs2
# hozzunk létre a home-ban egy könyvtárat a Cubby-nak
$ mkdir ~/Cubby
# adjuk hozzá fstab-hoz a Cubby elérhetőségét
$ echo "https://webdav.cubby.com /home/$USER/Cubby davfs rw,user,noauto 0 0" | sudo tee -a /etc/fstab
# állítsuk be az autentikációs adatokat, ! USER, PASS adatokat saját adatokkal töltsük ki !
$ echo "https://webdav.cubby.com        USER   PASS" | sudo tee -a /etc/davfs2/secrets
# WebDAV mountolása rootként (setuid beállítása)
$ sudo chmod u+s /sbin/mount.davfs
# hozzáadjuk magunkat a davfs2 csoporthoz
$ sudo gpasswd -a $USER davfs2
# file lock-ok létrehozásának kikapcsolása
$ echo "use_locks       0" | sudo tee -a /etc/davfs2/davfs2.conf

Ha mindez megvan már mountolhatjuk is a Cubby-t:

$ mount ~/Cubby

Thunar kiegészítés

Mivel a WebDAV API még béta fázisban van, ezért a hivatalos dokumentáció szerint nem lehet fájlokat átnevezni, és mozgatni. Nekem azonban Thunar-ban működtek ezek a funkciók, egyedül törölni nem tudtam, mert a Thunar nem tudott Trash-t létrehozni a felcsatolt WebDAV-hoz.

Ez a probléma megoldható egyéni művelet létrehozásával:

  1. Szerkesztés \(\rightarrow\) Egyéni műveletek beállítása…
  2. Hozzuk létre az egyéni műveletet:
Név
Delete permanently
Leírás
Immediately delete the selected file(s) or folder(s)
Parancs
rm -rf %F
  1. Megjelenítési feltételek-nél pipáljuk ki mindegyik fájltípust.

2013. május 21., kedd

Conky: The Old Reader szkript

Ahogy ígértem már itt is a Google Reader olvasatlan feed értesítő Python szkript Conky-hoz. A korábbi verziót nem én írtam és nem is teljesen arra célra való, amire használtam, így inkább megírtam egy újabb változatot, ami a méréseim szerint majdnem kétszer olyan gyors, és 20%-al kevesebb erőforrást is használ működéséhez. Ráadásul így nem kell jelszót beírni a Conky konfigurációs fájlba, ami biztonságosabb is.

A szkript működéséhez szükség lesz a python-requests csomagra, tehát telepítsük:

$ sudo apt-get install python-requests

Telepítése nagyon hasonlít az előző cikkben szereplő szkripthez, hozzunk létre egy futtatható szkriptfájlt:

$ mkdir -p ~/.scripts
$ touch ~/.scripts/rssToConky.py
$ chmod +x ~/.scripts/rssToConky.py
$ gedit ~/.scripts/rssToConky.py

A megnyíló Gedit szerkesztőbe pedig másoljuk be a következő kódot:

Természetesen az emailcím és a jelszó mezőket ki kell tölteni. Ha mindez megvan akkor ugyanúgy lehet felhasználni, mint a korábbi változatot, egy lehetséges példa:

You have ${texeci 300 ~/.scripts/rssToConky.py} unread feed(s).

Az eredményről screenshotot az előző cikkben láthattok. :)

Update: A szkriptet időközben átírtam Python3-ra, így szükség van egy >3.x verzió telepítésére, amihez a pyenv eszközt ajánlom.

2013. február 12., kedd

Steam telepítése Debian Wheezy-re

A Valve Corporation által kifejlesztett digitális tartalomközvetítő, -kezelő rendszert, valamint multiplayer és kommunikációs platformot rejtő programot szerintem senkinek nem kell bemutatnom. Elsősorban játékairól híres a Steam, rengeteg játék érhető el rajta (2013 február 07-én 1863 db) keresztül most már Windows, Mac OS X és egy ideje Linux rendszeren is.

Linux rendszerre tavaly novemberben indult meg a bétatesztelés, ezután hamarosan több igen híres játék vált elérhetővé, többek között a Serious Sam 3, Postal 2, Half-Life, Counter-Strike: Source, Killing Floor, és még sok másik. Jelenleg 50 játék érhető el Linuxon, de ezek száma gyorsan gyarapszik, és egyre csak nőni fog, ha másért nem a linuxos Steam Box miatt.

Telepítéshez:

wget http://kanotix.com/files/fix/install-steam-wheezy.sh
chmod +x install-steam-wheezy.sh
sudo ./install-steam-wheezy.sh

Telepítés után a steam paranccsal indítható. A program automatikusan frissíti magát, elég gyorsan fejlődik, pár napja például még tray iconja se volt, azóta azt is megcsinálták.

Egy tipp: nagyon jó játékok érhetőek el olcsón, legtöbbször többplatformos formában (akár Androidra, de nagyrészét Linuxon is ki tudtam próbálni) a Humble Indie Bundle honlapján. Aki nem ismeri: jótékonysági keretek között a vásárlók annyit fizetnek egy játékért, amennyit szánnak rá és több igen jó minőségű játékot adnak cserébe.

Steam hivatalos oldala

Steam for Linux honlapja

2013. január 27., vasárnap

Crunchbang Waldorf fagyás - Liquorix kernel Wheezy-re

Korábban már említettem, hogy a Crunchbang Linux legújabb, még testing fázisban álló változatát használom, a Waldorf-ot (érdekességképpen, minden #! kiadás a Muppet Show egy szereplőjéről van elnevezve; az előző verzió a Statler volt). Rövid használat után találkoztam azzal a hibával, hogy néha teljesen befagy az egész rendszer, és semmi nem használ, csak a power gomb.
A Crunchbang hivatalos fórumában való rövid keresgélés után láttam, hogy ez nem egyedi eset, és a problémát megoldja a Liquorix kernel telepítése. Ezelőtt is használtam már ezt a kernelt, mert tapasztalataim szerint sokkal megbízhatóbb, gyorsabb, és még a laptopom fogyasztása is kisebb lett tőle.
A korábbi .deb csomag letöltés->telepítés módszerrel azonban nem tudjuk frissíteni a kernelt, így egy sokkal jobb megoldást találtam. A smxi szkriptgyűjteményről van szó, rengeteg hasznos funkciója van ezeknek a szkripteknek; nagy részét még én sem ismerem, de rendkívül részletes dokumentáció érhető el hozzá. A core funkciók között található a legfrissebb Liquorix kernel frissítések, videókártya driverek (nVidia, ATI, Radeon, Intel) telepítése, rendszer-, és programjavítások, tweakek alkalmazása, és még rengeteg más egyéb felhasználási lehetősége is van a szkriptgyűjteménynek.
Ha grafikus drivert is telepítünk lépjünk át tty1-re:
CTRL + ALT + F1
Majd telepítsük és indítsuk el a következő paranccsal a smxi-t:
sudo su -
cd /usr/local/bin && wget -Nc smxi.org/smxi.zip && unzip smxi.zip && smxi
A szkript használatakor menüpontok közül kell mindig választani az alapján, hogy mit kívánunk tenni. A menüpontokhoz mindig részletes leírást ad a szkript, így mindig könnyű eldönteni, melyiket is válasszuk. Ha mégis elakadnánk itt egy nagyon részletes leírás, hogy melyik menüpontokkal adhatjuk hozzá a Liquorix kernelt a tárolóinkhoz. Ha befejeztük a szkript használatát, érdemes újraindítani a rendszert:
    reboot
vagy, ha nem végeztünk nagyobb módosítást, akkor visszaléphetünk a grafikus felületre:
CTRL + ALT + F7
smxi szkriptgyűjtemény honlapja
Liquorix Project honlapja

2013. január 18., péntek

UberWriter Markdown szerkesztő Debian-ra

Egy olyan alkalmazást fogok bemutatni, ami egyszeri használat után azonnal meggyőzött és azóta is használom. Ez az UberWriter nevű, saját magát distraction free editor-nak nevező alkalmazás, mely tényleg megkönnyíti a szövegírást egy csomó feature-ön keresztül.

Még decemberben olvastam róla az OMG!Ubuntu! oldalán róla, ahol 2012 legjobb 10 Ubuntu-s programja közé bekerült. Gondoltam érdemes lehet kipróbálni, mert megtetszett a gondolat, hogy létezik egy szerkesztő, amiben egyszerűen nincsenek beállítási lehetőségek és emiatt egyáltalán nem vonja el a figyelmet az írás tevékenységéről, ami így sokkal produktívabb tud lenni. Persze formázásra mindig szükség van, ami az UberWriter esetén a Markdown HTML generáló nyelvvel van megoldva. Pontosabban az UberWriter-ben a Pandoc kiterjesztett formátumában érdemes szövegeket írni, mely nem csak HTML generálásra, hanem PDF, ODT, és egyéb formátumok generálására is képes más, több egyéb újabb funkción kívül.

A további magyarázatok helyett érdemes megnézni a program írója által készített videót a működésről:

Néhány dolog ami megfogott a Markdown formátumban való szerkesztésben, és az UberWriter-ben:

  • a legfontosabb a nagyon egyszerű és jól működő syntax highlighting, ami rengeteg nyelvet ismer

  • nagyon egyszerű szövegformázás, nem kell a kijelölgetéssel, gombok nyomkodásával törődni

  • profibb megjelenés: inline HTML, CSS formázási lehetőségek, LaTeX támogatás

  • nem feltétlenül muszáj UberWriter-t használni, például lehet Vim-ben is szerkeszteni a fájlokat, vagy tetszőleges szerkesztőt használhatunk

  • … viszont az UberWriter nagyon szép kimenetet generál, és tényleg csak a szöveg írására lehet koncentrálni, semmilyen beállítással nem kell törődni, főleg a Focus Mode és Fullscreen mellett. :) Tényleg nem zavarja semmi a szövegírást.

Az UberWriter viszont egy vérbeli Ubuntu-s program, és nem sikerült eddig megszabadulnia a más disztribúciókban feloldhatatlan ubuntus függőségektől. Elvileg dolgoznak rajta, hogy több Linux változatban is lehessen telepíteni, egyelőre viszont Debian-on egy nem hivatalos csomagból való telepítést ajánlom:

Innen letölthetjük, parancssorból:

# töltsük le
wget http://deb.ianod.es/debian/pool/main/u/uberwriter/uberwriter_12.10.02-1_all.deb
# telepítsük
sudo dpkg -i uberwriter_12.10.02-1_all.deb

Ha valaki gyakrabban foglalkozik weboldalak tartalom előállításával, generálásával akkor érdemes kipróbálni az UberWriter-t, mert tényleg van benne fantázia.

UberWriter hivatalos oldala

UberWriter Launchpad oldala

2013. január 16., szerda

Conky Google Reader szkript

Ahogy ígértem már itt is a Google Reader olvasatlan feed értesítő Python szkript Conky-hoz. A korábbi verziót nem én írtam és nem is teljesen arra célra való, amire használtam, így inkább megírtam egy újabb változatot, ami a méréseim szerint majdnem kétszer olyan gyors, és 20%-al kevesebb erőforrást is használ működéséhez. Ráadásul így nem kell jelszót beírni a Conky konfigurációs fájlba, ami biztonságosabb így.

Telepítése nagyon hasonlít az előző cikkben szereplő szkripthez, hozzunk létre egy futtatható szkriptfájlt:

$ mkdir -p ~/.scripts
$ touch ~/.scripts/rssToConky.py
$ chmod +x ~/.scripts/rssToConky.py
$ gedit ~/.scripts/rssToConky.py

A megnyíló Gedit szerkesztőbe pedig másoljuk be a következő kódot:

Természetesen az emailcím és a jelszó mezőket ki kell tölteni. Ha mindez megvan akkor ugyanúgy lehet felhasználni, mint a korábbi változatot, egy lehetséges példa:

You have ${texeci 300 python ~/.scripts/rssToConky.py} unread feed(s).

Az eredményről screenshotot az előző cikkben láthattok. :)

2013. január 15., kedd

Conky Google Calendar szkript

A korábbi Gmail, Google Reader újdonság értesítő szkriptek után egy ideje már akartam Google Calendar-os Conky kiegészítést is. (Arról nem beszélve, hogy a Google Reader olvasatlan feed megjelenítő szkriptet is optimalizáltam.) Egy ideig keresgéltem, de nem igazán találtam olyat, ami egy Conky méretű kis helyen tényleg jól néz ki, és elég információ tartalma is van. Ezért elkezdtem megírni a saját verziómat Pythonban a Google Calendar API segítségével.

Az eredmény a következőképpen néz ki, persze lehet, hogy lesznek módosítások rajta még, ha valami jó eszembe jut (vagy valaki javasol valamit):

A szkript működéséhez szükség lesz a python-gdata csomagra, tehát telepítsük:

$ sudo apt-get install python-gdata

Ezután kelleni fog a megjeleníteni kívánt naptár privát URL-címe. Ezt a Naptárbeállítások fül alatt szerezhetjük be Google Calendarban, a Privát URL-cím helyen, mondjuk az XML gomb linkjéből. A link szerkezete a következő:

http://www.google.com/calendar/feeds/EMAILCÍM/PRIVÁT URL CÍM/basic

Ha mindez megvan, akkor már berakhatjuk a kész szkriptet Conky-ba:

$ mkdir -p ~/.scripts
$ touch ~/.scripts/calToConky.py
$ chmod +x ~/.scripts/calToConky.py
$ gedit ~/.scripts/calToConky.py
Majd másoljuk be a következő kódot, értelemszerűen az email cím, és a megszerzett privát url címeket töltsük ki:

Végül a Conky-ban hívjuk meg a most elkészített szkriptet:

CALENDAR ${hr 2}
${texeci 300 ~/.scripts/calToConky.py}

Hamarosan érkezik a Google Reader-es Conky szkript is.

Update: A szkriptet időközben átírtam Python3-ra, így szükség van egy >3.x verzió telepítésére, amihez a pyenv eszközt ajánlom.

2013. január 13., vasárnap

Audacious 3.3.3 Waldorf (Debian Wheezy) telepítése

Eljött az idő amikor a régi jól bevált Crunchbang 10 "Statler" rendszeremet frissítettem az új, még testing állapotban lévő Crunchbang 11 "Waldorf" verzióra. Eddig még soha nem használtam stable current-től eltérő Linux verziót, viszont egy ideje elkezdett zavarni, hogy minden programból nagyon régi verziókat tudok csak használni, és hiányoznak néha feature-ök, amik mindig csak a kevésbé stabil, testing változatban találhatóak meg. Az új verzió amúgy a még szintén testing státuszban lévő Debian Wheezy-re épül, ami lassan már egész stabilnak tekinthető. Ezért is gondoltam, hogy váltok az új Crunchbangre, ami gyakorlatilag 100%-osan kompatibilis az "anyadisztribúcióval".
Bár sok hibával nem találkoztam a rendszerben, azonban a Debian Wheezy tárolóiban lévő Audacious verzió (3.2.4-1) a következőhöz hasonló segmentation fault-tal elszáll:
** (audacious:17888): CRITICAL **: playback_get_paused: assertion `playing' failed
Rövid keresgélés után rátaláltam, hogy ez egy bejelentett hiba, a következő verziókban már nem tapasztalható. A Wheezy-ben található verziónál újabbat viszont elég problémás telepíteni, nem is találtam olyan tárolót amivel sikerült, lefordítani még problémásabb, így inkább a sid változatból debian.org-ról összevadásztam függőségekkel együtt egy működő Audacious 3.3.3-2 változatot.
Itt letölthető, kicsomagolás (tar -xvzf audacious.tar.gz) után az alapértelmezett GDebi csomagtelepítővel telepíthetőek a .deb csomagok.
Hamarosan írni is fogok az új Crunchbang kiadáshoz módosított beállításaimról (Conky, Tint2, Openbox, stb).