09 September, 2008

Pachetul zilei (candidat pentru incearca.softwareliber.ro)

Pur întâmplător am aflat de un program incredibil: synergy. Vă las în compania descrierii din Debian:
Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It's intended for users with multiple computers on their desk since each system uses its own display. Redirecting the mouse and keyboard is as simple as moving the mouse off the edge of your screen. Synergy also merges the clipboards of all the systems into one, allowing cut-and-paste between systems. Furthermore, it synchronizes screen savers so they all start and stop together and, if screen locking is enabled, only one screen requires a password to unlock them all. Packages for Windows/MacOS/RPM and Sources can be found at http://sourceforge.net/project/showfiles.php?group_id=59275

07 September, 2008

Changing terms

After switching to LXDE a few days ago I've been experimenting with other terminal emulators. For pretty long time my default terminal emulator (the one behind x-terminal-emulator) has been mlterm because:
  • it's fast (start time as well as use)
  • has support for UTF-8
One could say that I shouldn't care about the speed on my new laptop, but there are still noticeable differences even though I'm now running a Dual Core 1.6 GHz with 2 GB of RAM. But why would I ditch mlterm? It has trouble displaying some characters (fortunately not from my native language) and there are strange (but anoying) artifacts when using aptitude. As I see it there are three categories of terminal emulators:
  1. heavy: lots of features, but slow (konsole, gnome terminal)
  2. lightweight: some features, but still slow (xfce4-terminal, lxterminal, roxterm)
  3. minimalistic: fewer features (or different implementation), but fast (mlterm, rxvt, ...)
Category 1. I didn't even try. I don't really need all the stuff they can do. I even don't need tabs, I prefer to have many terms open, because sometimes I work with two (or more) in paralel. From category 2. I tried all three enumerated above. From the features point of view roxterm would have been good for me, but all three of them have noticeable latency when scrolling around in mutt for example. From category 3. I had to dismiss a lot of them after a very simple test: drawing characters in mutt or mc. Most of them just show strange characters... In the end the only contestant left was urxvt (Debian package rxvt-unicode), which eventually replaced mlterm. Pros:
  • no trouble with aptitude
  • the integrated Perl interpreter which brings additional features like URL detection (via the „matcher” perl extension)
Cons:
  • I had troubles with some colors being too bright, but I think I solved that now
  • I had to write its config from scratch
Let's see how long I'll stay with this one.

06 September, 2008

3G și Debian GNU/Linux (pe scurt)

Cred că articolul meu despre instalarea modemului Huawei E220 (cel folosit de Vodafone) pe Debian e cam lung așa că m-am gândit să scriu și o variantă scurtă: 1. Se descarcă pachetul vodafone-mobile-connect-card-driver-for-linux de la betavine. Pachetul este disponibil pe sit doar pentru Debian 4.0 (Etch), dar eu l-am folosit pe Lenny. Nici variantă pentru 64 biți (arhitectura amd64) nu pare să existe, dar eu bănuiesc că se poate folosi cel pentru i386. 2. Se încearcă instalarea cu „dpkg -i”. Probabil v-a eșua din lipsa unor dependențe. 3. Se folosește „aptitude install” (fără nici un nume de pachet) pentru a completa instalarea. Aptitude ar trebui să detecteze tentativa de instalare și va oferi soluții pentru rezolvare. Probabil prima soluție oferită de aptitude nu va fi cea corectă, așa că va trebui să refuzați. A doua ar trebui să fie cea corectă. 4. Se adaugă utilizatorul (sau utilizatorii) care au voie să folosească programul în grupurile „dialout” și „dip”. Cel mai simplu este un simplu „adduser nume_utilizator dip” respectiv „adduser nume_utilizator dialout”. Pentru ca această modificare să aibă efect trebuie ca utilizatorul respectiv să se reautentifice. 4. Se pornește programul. Pe Xfce4 (probabil și pe GNOME sau KDE) poate fi găsit în meniul principal la categoria „Network”. 5. La prima pornire programul va mai face niște configurări care trebuie confirmate de utilizator. Mai întâi va afișa o poză cu modemul unde trebuie confirmat cu [OK], după care va cere confirmare pentru a folosi datele specifice rețelei Vodafone Romania (citite probabil de pe SIM). Se confirmă din nou după care trebuie salvat „Profilul” cu datele respective. 6. Un simplu clic pe butonul „Connect” ar trebui să vă conecteze la internet. Notă: Programul va cere la un moment dat și codul PIN (în mod normal codul este 1234). Dacă doriți să nu mai întrebe există opțiune în meniu, sau, dacă nu funcționează, cartela SIM se poate băga în orice telefon și dezactiva opțiunea respectivă.

03 September, 2008

3G și Debian GNU/Linux

Astăzi am reușit în sfârșit să conectez laptopul mamei mele folosind 3G de la Vodafone. Acum procedura pare extrem de simplă, dar totul a fost mult mai complicat datorită faptului că ne aflăm în localități diferite, deci sunt limitat la telefon și o conexiune internet printr-un router cu SNAT. Teoretic instalare de programe se poate face relativ simplu, dar deoarece laptopul respectiv rulează versiune de testare de la Debian (nume de cod Lenny) am preferat să execut personal instalarea de software. Pentru asta aveam nevoie de acces ssh. Acest lucru s-a realizat destul de simplu cu un tunel inversat. Comanda, deși relativ lungă se poate dicta prin telefon :) Având acces ssh mai trebuia doar instalat programul de conectare. Teoretic se poate realiza și cu wvdial, dar am preferat programul vodafone-mobile-connect-card-driver-for-linux (mai lung nu se putea?) de la betavine. Mai întâi am descărcat varianta pentru Debian și am încercat să o instalez direct cu dpkg. După cum mă așteptam, nu a funcționat, dar am aflat pachetele lipsă. În loc să le instalez pe fiecare în parte am încercat un "aptitude install". aptitude (manager de pachete) a detectat tentativa mea de instalare manuală și a început să caute soluții. Prima soluție (cea mai conservatoare) ar fi fost să șteargă orice urmă a noului pachet deoarece lipseau prea multe pachete necesare. Am refuzat și aptitude mi-a oferit o altă variantă: să instaleze toate pachetele necesare din arhiva Debian și să încheie instalarea pachetului nou. Zis și făcut, 2 min. mai târziu totul era instalat corect. Acum urma partea cea mai grea. Programul dispune de interfață grafică pe care eu nu o mai văzusem niciodată, iar cu utilizatorul nu pot comunica decât prin telefon... Prima încercare: programul pornește și afișează un mesaj de eroare (iar cititorul nu știe engleză). Se solicită ca utilizatorul să fie membru al grupului "dialout". Un simplu "adduser utilizator dialout" și problema s-a rezolvat. După logout și login (pentru ca noua apartenență să-și facă efectul) o nouă încercare. Acum programul afișează o poză a modemului și solicită confirmare sau introducerea datelor despre modem. După câteva neînțelegeri se pare că există și butonul [OK] pentru confirmarea opțiunii implicite (și corecte). Mai departe programul anunță că a descoperit (probabil pe SIM) setări pentru țara "Romania" și cere confirmare. Aici mama a preluat inițiativa și a confirmat fără să-mi mai ceară sfatul. Astfel s-a rezolvat cea mai dificilă problemă, pentru că nicăieri n-am găsit publicate valorile necesare pentru utilizator, parolă și APN (Momentan nu am acces, altfel le publicam eu acum). Ce a mai rămas? Să încercăm o conectare. Butonul [Connect] deschide o mică fereastră care arată că se lucrează, dar nu se întâmplă nimic :( Chiar când totul părea să fie în regulă! S-a făcut târziu așa că amânăm pe a doua zi. O nouă zi, o nouă strategie. Modificăm comanda de tunel ssh pentru a permite aplicații X (pentru cei care nu sunt foarte familiari cu sistemul grafic din Linux, acesta permite ca un program să ruleze pe un calculator și să afișeze pe altul, o facilitate extrem de utilă în multe situații). Acum pornesc programul direct, trec prin pașii de mai sus (doar sunt alt utilizator), dar nici o schimbare. Singurul mesaj afișat în terminal este o avertizare legată de dbus, dar nu pare gravă. Totuși folosind completarea automată din terminal am observat că există o variantă -debug a programului. Să încercăm. Uau! Programul a început să "scuipe" o mulțime de informații referitor la toate acțiunile sale, inclusiv comunicațiile cu modemul. Totul pare în regulă, în afară de... nu poate accesa /usr/sbin/pppd, programul responsabil cu conexiunile PPP (Point-to-Point Protocol). Un simplu "ls -l" arată că pppd poate fi utilizat de membrii grupului "dip". Mama devine imediat membră a grupului, logout, login și... VICTORIE! Avem conexiune :) Concluzia? Deși mama mea e un caz mai special (studia programare la puțin timp după nașterea mea), consider că programul e utilizabil de mame/tați/etc. Cine spune că Linux e greu de folosit?