Libellés

Affichage des articles dont le libellé est debian. Afficher tous les articles
Affichage des articles dont le libellé est debian. Afficher tous les articles

jeudi 10 mars 2011

Parcellite copier-coller : synchroniser la selection avec le presse papier

Dans linux il existe deux espaces pour faire des copier coller :
  - la selection du curseur pour copier et clique du miileu (ou Shift Inser) pour coller
  - et le presse papier : Ctrl + C pour copier et Ctrl + V pour coller

Mais si on se trouve sur un portable avec l'impossibilité de faire un clique du milieu pour coller la selection et l'impossibilité de faire un Ctrl + C pour copier on se retrouve bien coincé.

Le cas typique est celui de coller dans un navigateur web un selection faite sous xterm . Xterm ne permet pas de copier dans le presse papier, et google-chrome comme firefox ne colle pas le contenu de la selection lors d'un Shift - Inser.

La solution existe. Il suffit d'utiliser parcellite :

apt-get install parcellite


Ensuite il suffit simplement de configurer parcellite :

$ cat .config/parcellite/parcelliterc

[rc]
use_copy=true
use_primary=true
synchronize=true
save_history=true
history_limit=25
hyperlinks_only=false
confirm_clear=false
single_line=true
reverse_history=false
item_length=50
ellipsize=2
history_key=H
actions_key=A
menu_key=P




Puis de le lancer en tache de fond

parcellite &

Debian : Nodm pour lancer X avec autologin

Avec une Debian Squeeze, si l'on souhaite lancer une session X au démarrage sans saisir de mot de passe, soit on utilise un display manager (gdm, kdm, lxdm, ...) soit un utilise nodm.

Nodm ne demande rien, il demarre juste xinit au démarrage sous un utilisateur particilier.

Pour installer nodm :

apt-get install nodm


Et pour l'activer il faut éditer le fichier :

cat /etc/default/nodm


# nodm configuration

# Set NODM_ENABLED to something different than 'false' to enable nodm
NODM_ENABLED=true

# User to autologin for
NODM_USER=romain

# xinit program
NODM_XINIT=/usr/bin/xinit

# First vt to try when looking for free VTs
NODM_FIRST_VT=7

# X session
NODM_XSESSION=/etc/X11/Xsession

# Options for the X server
NODM_X_OPTIONS='vt7 -nolisten tcp'

# If an X session will run for less than this time in seconds, nodm will wait an
# increasing bit of time before restarting the session.
NODM_MIN_SESSION_TIME=60



Maintenant afin de lancer un window manager (par exemple wmfs), il faut editer le fichier : ~/.xsession

$ cat .xsession

#!/bin/sh
wmfs

lundi 7 mars 2011

Selenium Perl et Debian (ou Ubuntu)

Selenium IDE : http://seleniumhq.org/projects/ide/ permet de créer des scripts selenium et de les exporter sous différents langage : Java, C#, Groovy, Python, Ruby et Perl pour les sysadmins


Ce qui nous intéresse ici c'est d'utiliser perl!


Tout d'abord il faut installer les paquets suivant :

apt-get install perl libtest-exception-perl libtest-www-selenium-perl


Ensuite il faut créer un script selenium sous Selenium IDE et l'exporter au format Perl.

Voici un script selenium bidon exporté en Perl :

use strict;
use warnings;
use Time::HiRes qw(sleep);
use Test::WWW::Selenium;
use Test::More "no_plan";
use Test::Exception;

my $sel = Test::WWW::Selenium->new( host => "localhost",
port => 4444,
browser => "*chrome",
browser_url => "http://fr.yahoo.com/" );

$sel->open_ok("/");
$sel->click_ok("link=Jacques Chirac aux portes du tribunal pour un procès?");
$sel->wait_for_page_to_load_ok("30000");
$sel->click_ok("link=Villepin souhaite que Chirac soit jugé, s'oppose à un report");
$sel->wait_for_page_to_load_ok("30000");


Maintenant si on lance le script perl on obtient l'erreur suivante :

Error requesting http://localhost:4444/selenium-server/driver/?cmd=getNewBrowserSession&1=*chrome&2=http%3A%2F%2Ffr.yahoo.com%2F:
500 Can't connect to localhost:4444 (connect: Connexion refusée)
# Looks like your test died before it could output anything.
zsh: exit 255 perl perl.pl

Ce qui signifie qu'il n'y a pas de serveur selenium de lancé.


Pour lancer un serveur selenium, il y a plusieurs méthodes :

1 - On télécharge le jar de selenium-server et on le lancer en java

firefox http://seleniumhq.org/download/
java -jar selenium-server.jar


2 - Sinon, on exécute le script groovy suivant (Il s'occupe de télécharger et lancer Selenium Server)

import com.thoughtworks.selenium.*
import org.openqa.selenium.server.*

@Grab(group='org.seleniumhq.selenium.server', module='selenium-server', version='1.0.1')

def server = new SeleniumServer()
server.main(new String[0])
println("Started")

mardi 22 février 2011

tcpflow : capturer le réseau

L'outil tcpflow, permet de voir très facilement se qui transite sur le réseau :

Voici un exemple d'utilisation

sudo tcpflow -i eth0 -c            


tcpflow doit être lancé en root. Il analyse tout se qui se passe sur la carte eth0 (en entrée comme en sortie).

Le paramètre -c permet de d'afficher le résultat sur la sortie standard (sinon il créé un fichier automatiquement)

Voici un exemple de résultat :

192.168.002.064.32824-212.027.063.149.00080: GET /css/main.css HTTP/1.1

Host: blablabal.free.fr
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.1.16) Gecko/20110107 Iceweasel/3.5.16 (like Firefox/3.5.16)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive


212.027.063.149.00080-192.168.002.064.32824: HTTP/1.1 200 OK
Date: Tue, 22 Feb 2011 17:41:39 GMT
Server: Apache/ProXad [Aug  9 2008 02:45:09]
Last-Modified: Tue, 04 Jan 2011 23:18:35 GMT
ETag: "2bab673-116d-4d23aacb"
Connection: close
Accept-Ranges: bytes
Content-Length: 4461
Content-Type: text/css

* {
  margin: 0;
  padding: 0;
}

....

vendredi 18 février 2011

Xvfb : lancer firefox sans X sur un serveur

Pour lancer une application graphique sans serveur X, il faut utiliser Xvfb.

Sinon on obtient l'erreur suivante :

Error: no display specified


Installation
------------
Sous debian :

$ apt-get install xvfb


Utilisation simple :
--------------------
La façon la plus simple d'utiliser Xvfb est via xvfb-run.

$ xvfb-run -a firefox

Le paramètre -a permet de donner automatiquement un numéro de DISPLAY libre, afin de pouvoir utiliser plusieurs DISPLAY en parallèle.


Spécifier le DISPLAY manuellement
---------------------------------
Si on souhaite tout faire manuellement, il faut procéder en trois étapes :

- Lancer un serveur Xvfb sur un DISPLAY particulier
- Faire un export de la variable DISPLAY afin d'indiquer à toute les prochaines applications lancées par le shell, qu'elles devront tourner sur ce DISPLAY.
- Lancer les applications graphiques.


$ Xvfb :1 -screen 5 1024x768x8 &
$ export DISPLAY=:1.5
$ firefox

vendredi 11 février 2011

Ruby on Rails 3 sur une Debian Lenny 5

Voici comment installer Ruby on Rails 3 sur une Debian Lenny 5 (Meme chose avec Ubuntu Maverick)

1 - Install Rvm
---------------
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> .bashrc

(ouvrir une nouvelle shell)

2 - Install Ruby
----------------
rvm install 1.9.2
rvm --default 1.9.2

3 - Install Rails
-----------------
gem install rails

4 - Install sqlite3
-------------------
sudo apt-get -t lenny-backports install libsqlite3-dev
gem install sqlite3-ruby

5 - Create a new Rails App
--------------------------
rails new new-rails-app

6 - Start a Web Server
----------------------
rails s

7 - Enjoy
---------
x-www-browser http://127.0.0.1:3000/

mercredi 1 décembre 2010

Umask pour un utilisateur avec sudo

Humm, voivi ma trouvaille du matin :
J'ai un umask pour mon utilisateur mais dès que je l'appelle via sudo, le umask n'est pas pris en compte.

Après quelques googlage, voici une solution qui marche sous debian : 

Tappez : 
visudo

Et ajoutez : 
Defaults>romain umask=0027

Et pour tester : 
sudo -u romain touch /tmp/titi

ls -l tmp/titi
-rw-r----- 1 romain  romain 0 nov 26 10:08 /tmp/titi


Et pour info voici les extraits du man sudoers : 

umask           Umask to use when running the command.  Negate this option or set it to 0777 to preserve the user's umask.  The default is 0022.


Defaults

Certain configuration options may be changed from their default values at runtime via one or more Default_Entry lines.  These may affect all users on any host, all users on a specific host, a specific user, or commands being run as a specific user.

        Default_Type ::= 'Defaults' |
                         'Defaults' '@' Host_List |
                         'Defaults' ':' User_List |
                         'Defaults' '>' Runas_List