Archive for the ‘Desktop environment’ Category
Sous Ubuntu Jaunty la dernière version du package Latex
algorithm2e est 3.9, alors que la version 4.01 est disponible. Dans cette dernière version certaines commandes ont changées notamment
\SetLine devient
\SetalgoLined (voir la
documentation).
Plutôt que d'écraser le fichier apporté par le paquet ubuntu (i.e.
/usr/share/texmf-texlive/tex/latex/algorithm2e/algorithm2e.sty), une façon simple d'utiliser la dernière version est de se créer un répertoire
~/texmf (texmf pour
tex macros & fonts), d'y copier le fichier
algorithm2e en version 4.01, et de positionner la variable d'environnement
TEXINPUTS avant de lancer la compilation de son latex:
$export TEXINPUTS=.:/home/nicolas/texmf:
NOTES:
- le positionnement
[H] sur un algorithm (i.e. \begin{algorithm}[H]) n'est pas autorisé en mode deux colonnes comme dans la classe IEEETran.
- la classe Latex LLNCS a été mise à jour, et le package hyperref est (enfin! ) supporté (lien).
Les mp3 players UMS n'apparaissent pas automatiquement dans Rhythmbox, il faut créer un fichier
.is_audio_player à la racine du filesystem du player.
Voir
http://live.gnome.org/Rhythmbox/FAQ.
Le ppa de empathy:
https://launchpad.net/~telepathy/+archive/ppa
- empathy2.27 et libempathy27:
- empathy2.27 et libempathy30:
La méthode over http sur le protocole msn disparaît à nouveau, et l'ajout de contact sur un compte msn est impossible car buggé.
Disparu aussi le très chouette
"contacts on map"... :-(
Et les chat rooms sur talk.google.com ne sont plus supportées.
=> Le package empathy2.28 ne compile pas pour jaunty, il est cependant disponible pour karmic, autant attendre karmic donc!
Depuis bien longtemps j'utilise un plugin firefox de synchronisation des bookmarks et passwords nommé
Xmarks, anciennement foxmarks. Ce changement de nom date de plusieurs mois déjà, et le service a été pour l'occasion étendu, il est proposé depuis un ranking des liens et bookmarks et autres web2.0 joyeusetés tartinées à la truelle...
Là, déjà, j'avais tiqué un peu, cela ne me plaisait guère, mais pas de problèmes: c'est désactivable.
Le plugin fonctionne ainsi: il faut se créer un compte sur le site du service, et à chaque besoin de synchronisation un dialogue est effectué entre son firefox et le site du service xmarks.
C'est très pratique lorsque l'on possède plusieurs machines de travail, personnellement j'ai ma machine maison, un portable, et la machine du labo.
Cette semaine, un dossier de mes bookmarks, nommé "conf&gdr&labs&people" (un dossier plutôt important donc...) a disparu...
"Pas de panique", me suis-je dis, c'est un problème de synchronisation, et xmarks conserve un historique des versions des bookmarks, je n'ai qu'a restaurer une version ultérieure!!
Seulement voilà:
nicolas@trantor:~/tmp$ diff Bookmarks603.html Bookmarks556.html
nicolas@trantor:~/tmp$ diff Bookmarks556.html Bookmarks297.html
(les différences entre chaque documents sont vides).
La version 603 est celle d'aujourd'hui, la 556 en juillet, et la 297 en mai... [sic!]
Et en fait, le résultat de cette commande est identique pour toutes les versions archivés dans l'historique sur le serveur de xmarks.
Conclusion: non seulement mon dossier de bookmarks a disparu, mais chaque version dans l'historique est identique à la dernière version uploadée, c'est à dire qu'historique il n'y a point... !
Il est donc grand temps de changer de plugin de synchronisation, et pour cela
Mozilla Weave est tout indiqué!!
- pour réactiver le shortcut Control-Alt-Backspace pour redémarrer le serveur X, ajouter dans
xorg.conf:
Section "ServerFlags"
Option "DontZap" "no"
EndSection
- Pour enlever le status pidgin/empathy de l'applet fast-user-switch-applet: dans
gconf-editor, apps/fast-user-switch-applet, uncheck show_presence_info.
Le mieux étant encore de ne pas utiliser du tout d'applet de fermeture/log out.
- pour l'instant messaging un truc sympa est d'installer la version ppa d'empathy.
Je n'arrive pas à me connecter via over http à un compte msn avec telepathy-butterfly 0.5.0-ubuntu2~pp et python-msn 0.3.3-4~ppa.04+1, mais ça fonctionne très bien avec telepathy-haze 0.3.2-1~ppa9.04+1.
A noter qu'il y a un bug sur la gestion de la position de la fenêtre d'Empathy lors de sa minimisation via son icône dans la notification area de Gnome. Le bug est que la position de la fenêtre n'est pas sauvegardée et elle réapparaît à l'écran à une position aléatoire.
Ce bug n'apparaît que lorsqu'il y a eu une erreur de connexion/authentification sur un protocole.
- veusz, Velvet Ember Under Sky Zenith, scientific plotting package, il y a un ppa de disponible ici.
- Pour synchroniser les contacts dans thunderbird avec les contacts de son compte gmail, j'utilise depuis longtemps GCALDeamon, qui est un programme externe (pas un plugin thunderbird) qui simule un LDAP, il suffit alors d'ajouter un serveur LDAP à la liste des serveurs de contacts dans thunderbird.
Il y a beaucoup plus pratique: il y existe des plugins thunderbird pour réaliser cette synchronisation, entre autres Google-Contacts et Zindus, ce qui a le gros avantage que le plugin est stocké dans le répertoire de profile thunderbird (sous GNU/Linux, .mozilla-thundebird), et donc suite à une réinstallation de son système il suffit de recopier ce répertoire (ce qui évite de réinstaller GCALDaemon dans le cas où on l'utilise).
Parmis les plugins cités, Zindus est, je pense, le plus abouti.
- la version ppa de VLC
- la version ppa de wine
- pour forcer nautilus a recréer le main menu:
$rm -fr .config/menus
$killall gnome-panel
Ce qui est utile quand on supprime Wine par exemple: via un apt-get --purge remove wine et une suppression du répertoire .wine. Si le submenu Wine (dans le main menu Gnome) a été supprimé manuellement, une installation ultérieure de Wine n'ajoute pas à nouveau de submenu Wine dans le main-menu.
- Les searchplugins de ma configuration firefox: searchplugins.tar.gz
- Sous Ubuntu Jaunty Jackalope, les fonts utilisées dans Firefox3.5 ne respectent pas les préférences utilisateurs (au niveau du desktop): voir ces deux forums:
D'après ces derniers:
cd /etc/fonts/
sudo mv conf.d/10-hinting-slight.conf .
sudo ln -s conf.avail/10-hinting-slight.conf conf.d/
sudo mv conf.d/10-hinting.conf .
sudo ln -s conf.avail/10-hinting.conf conf.d/
sudo dpkg-reconfigure fontconfig
- Sous Ubuntu Jaunty Jackalope, il y a un petit problème de connexion pour un firefox3.5 ou thunderbird3 sur une machine 64bits ("connection failed"): une valeur booléenne dans la configuration (via about:config) est à changer voir: http://kb.mozillazine.org/Network.dns.disableIPv6
Prism apporte des
webapps, dans le genre "un pas de plus vers le
SAAS" en quelques sortes.
Il y a un paquet dans les dépôts Ubuntu8.04, mais c'est la 0.8, une version plus récente
ici.
Le support des extensions Firefox est délicat sous Prism, certaines extensions ne fonctionnent pas (ou ne sont pas configurées pour fonctionner aussi sous Prism), par exemple GreaseMonkey.
Il y a bien l'astuce de modifier le
install.rdf de l'extension, mais attention: une archive
xpi a beau être une archive zip, ne pas faire confiance à l'archiveur par défaut sous Ubuntu/GNOME, FileRoller, qui, je ne sais pourquoi produit des archives zip que Prism ne sait pas lire... après 30 minutes d'arrachage de cheveux: ouvrir l'archive
xpi de l'extension avec FileRoller, modifier à la volée
install.rdf, et ça fonctionne...
(plutôt que de décompresser l'extension, faire la modification sur
install.rdf, et recompresser).
Bizarre, bizarre... vous avez dit bizarre?
Étant donné que Prism n'apporte pas d'icône/menu par plugin dans la barre de status comme dans Firefox, et que pour ajouter un script à GreaseMonkey il faut utiliser cette icône, l'astuce pour ajouter un script GreaseMonkey est de copier le fichier
user.js, dans un répertoire du profile de Prism
gm_scripts/${scriptName}, et de renseigner correctement le fichier
gm_scripts/config.xml (voir la syntaxe dans un profile Firefox avec GreaseMonkey installé).
A noter que le profile d'un Prism0.8 est situé dans
~/.prism/${profileId}.default, tandis que Prim0.9 crée un profile par webapp dans
~/.prism, on a donc par exemple
~/.prism/mibbit/${profileId}.default.
Notes:
- pour naviguer dans Prism, <Alt>+MouseScroll.
Update:
Apparemment, le plugin ne fonctionne pas sous Prism...
Tout semble ok, les scripts sont indiqués présent etc., mais les userscripts de GreaseMonkey ne fonctionne pas. D'autres plugins pour Firefox ont le même comportement sous Prism, comme FlashBlock par exemple.
Il y a peut être un élément de réponse
ici (dans le commentaire n°10), en fait les overlays comme:
overlay chrome://browser/content/browser.xul chrome://greasemonkey/content/browser.xul
ne peuvent pas être utilisés car browser.xul n'existe pas dans Prism, c'est le schéma de Firefox.
Il faut utiliser:
overlay chrome://webrunner/content/browser.xul chrome://greasemonkey/content/browser.xul
De plus, dans le javascript ceci ne peut pas être utilisé:
var appcontent=window.document.getElementById(”appcontent”);
à remplacer par ceci:
var appcontent=window.document.getElementById(”browser_content”); //browser content is the document container for Prism
L'auteur du commentaire a adapté l'extension
RememberTheMilk for Gmail ainsi.
Pour le moment c'est une Ubuntu 8.04 LTS Hardy Heron.
Configuration système:
Desktop background: #225A7C
Shortcuts configurés dans
gconf-editor, dans
apps/metacity/global_keybindings et
apps/metacity/keybinding_commands:
- mod4+hyper+e: nautilus.
- mod4+hyper+s: java -jar /home/nicolas/apps/screenshooter-0.9.jar.
- mod4+hyper+c: gnome-terminal.
- mod4+hyper+w: rhythmbox-client --next.
- mod4+hyper+x: rhythmbox-client --previous.
Programme chargé en ouverture de session:
- Gkrellm.
- Liferea.
- gcaldeamon.
- Beagle Search Daemon.
- Beagle Search Tool.
Tracker et Tracker Applet sont désactivés.
Voir comment configurer
les applications par défauts par
MIME types sous GNOME.
Metacity est
remplacé par OpenBox (mais du coup les shortcuts de GNOME ne fonctionnent pas, il faut les ajouter dans ~/config/openbox/rc.xml).
Il existe
displayconfig-gtk, qui permet de configurer le display courant, mais l'application ne supporte que l'extension de bureau et le mirror (i.e. le clone).
Ces tests ont été effectués sur une machine avec une NVIDIA GeForce 7 Series, et le driver NVIDIA 169.12 du paquet Ubuntu
nvidia-glx-new.
*-display
description: VGA compatible controller
product: G72M [Quadro NVS 110M/GeForce Go 7300]
vendor: nVidia Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list
configuration: driver=nvidia latency=0 module=nvidia
Pour obtenir les informations systèmes sur GNU/Linux, il existe
sysinfo qui est très pratique, (sinon
lshw).
Pour installer un driver NVIDIA, il existe le très pratique
envyng (dispo dans les dépôts Ubuntu).
En réalité trois approches sont possibles:
- TwinView ou Xinerama: extension de bureau, soit avec deux écran virtuels, soit un écran virtuel réparti sur les deux écrans physiques.
- separate-x-screen: un seul server X mais deux xscreen panels sur le server, c'est ce qu'on pourrais appeler le vrai multi-head display sous GNU/Linux, i.e. un seul display, plusieurs xscreens, en l'occurrence dans mon cas, j'ai le display :0.0 et :0.1.
Un display peut être décrit "as a workstation consisting of a keyboard a pointing device (such as a mouse) and one or more screens", et un xscreen est la représentation d'un écran physique.
- le mode clone.
Le mode TwinView m'embête beaucoup, soit à cause de la résolution d'écran, à cause des notifications qui se font pas sur le bon écran, ou bien le fullscreen qui se fait sur l'écran principal uniquement... Le problème avec le mode TwinView est qu'il faut paramétrer un écran comme "écran principal", c'est ainsi que le fullscreen ne se fait que sur l'"écran principal", même si l'application est affichée sur l'autre écran en réalité!
Je me suis donc configuré en separate-x-screen, et j'essaye de déplacer des fenêtres d'un xscreen à un autre (je me place dans un multi-head display) (et pas forcément déplacer des applications d'un display à un autre, i.e. un server X à un autre, mais juste d'un xscreen à un autre sur le même serveur X).
Deux programmes peuvent faire cela:
- xmove.
- teleport: avec cet outil les applications lancées sur le serveur X doivent supporter le déplacement inter-display, et en réalité ce n'est le cas de quasi-aucune application X
Pour faire des notifications Desktop depuis Java sur un système GNU/Linux:
- Un moyen de faire est d'utiliser le
TrayIcon introduit dans Java1.6 pour ajouter une icône de notification dans le System Tray (nommé notification area sous GNU/Linux, et Taskbar Status Area sous Windows), puis utiliser la méthode:
TrayIcon.displayMessage(caption, text, TrayIcon.MessageType.INFO);.
Cette approche a le mérite d'être multi-plateforme.
voir http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/systemtray/
- Utiliser libnotify:
- soit par un script python par exemple:
#!/usr/bin/python
from pynotify import *
import sys
def notify(title="", message=""):
n = Notification(title, message)
n.show()
#n.set_hint("x", 0)
#n.set_hint("y", 0)
init("cli notify")
if len(sys.argv)>2:
notify(sys.argv[1], sys.argv[2])
else:
notify()
voir http://roscidus.com/desktop/node/336.
- soit en utilisant une commande système avec
notify-send (apportée par le paquet libnotify-bin sous Ubuntu).
Notes: pour changer le thème de libnotify, cela peut être fait directement dans le gconf-editor (apps > notification-daemon), la variable theme, par défaut à "ubuntu", peut être mise à "normal".
Un
billet bien pratique.
Pour régler la précision de
bc, ajouter de nouvelles fonctions dans un fichier de configuration,
~/.bc par exemple, il faut déclarer la variable shell:
Pour configurer une application par défaut pour un type de fichier
T (par exemple
PDF) sous GNOME, on peut utiliser le menu
properties du menu contextuel d'un fichier de type
T, l'onglet
open with permet de sélectionner l'application par défaut.
Mais cette façon de faire ne suffit pas, cela convient pour l'ouverture depuis nautilus ou le bureau GNOME, mais de nombreuses applications (Beagle, Eclipse entre autres) utilisent les fichiers de configuration
defaults.list se trouvant dans différentes locations, tel que:
-
~/.local/share/applications/defaults.list
/etc/gnome/defaults.list
/usr/share/applications/defaults.list
/usr/local/share/applications/defaults.list
Le dernier ayant précédence sur les autres ! voir ce
forum.
Très pratique pour, par exemple, faire en sorte que quand vous recherchez un article dans votre biblio avec
Beagle, et que vous désirez visionner un
PDF présent dans les résultats de votre recherche, ce
PDF soit ouvert avec Acrobat Reader (et non avec Evince, qui sait certes ouvrir plus de types de fichier que Acrobat, notamment les PS, mais propose beaucoup moins de fonctionnalités pour les
PDF). Ou par exemple aussi, ouvrir un
PDF depuis Eclipse également avec Acrobat Reader, etc.
Les dictionnaires pour le spell checking sur
https://addons.mozilla.org/en-US/thunderbird/browse/type:3 sont des dictionnaires HunSpell pour Thunderbird 3.x.
Thunderbird 2.x utilise MySpell, à l'instar de OpenOffice, ces dictionnaires ont été remplacés par HunSpell dans Thunderbird 3.x.
voir
http://mozillalinks.org/wp/2007/07/thunderbird-gets-a-new-spell-checker-firefox-may-follow/.
Lien pour récupérer un dictionnaire MySpell pour Thunderbird 2.x:
https://addons.mozilla.org/en-US/thunderbird/addons/versions/3066
NOTE: Sous Ubuntu Jaunty Jackalope, le fichier .gnomerc n'est pas lu ou utilisé, ainsi quoiqu'il contienne, openbox n'est pas utilisé comme gestionnaire de fenêtre à la place de metacity. Une solution est d'ajouter openbox --replace aux Startup Applications de Gnome. Effet de bord agréable: le chargement du desktop en est plus rapide (rapport à Gnome/openbox sous Intrepid), j'imagine que c'est parce qu'il charge openbox après avoir chargé Gnome.
Update 2009-08-18: si le shortcut pointe sur nautilus path avec path==~ (le home de l'utilisateur) par exemple, cela fonctionne parfaitement, en fait c'est uniquement nautilus sans argument qui ne fonctionne pas en shortcut!
NOTE: A partir de Ubuntu 8.10 Interpid Ibex, impossible de positionner un shortkey pour démarrer nautilus (par exemple un W-E pour démarrer nautilus, c'est très pratique, voir indispensable...). Je ne sais pas pourquoi... mais j'ai un indice avec l'erreur suivante: gnome_client_set_program: assertion 'program != NULL' failed.
Pour remplacer Metacity par OpenBox, éditer
.gnomerc et y ajouter:
export WINDOW_MANAGER="/usr/bin/openbox"
La configuration de OpenBox se trouve dans
~/.config/openbox/rc.xml (fichier très lisible, se passe d'explications), voici mon fichier
rc.xml (version 2:
rc.xml) (version 3:
rc.xml) (version 4 / 09.11.06:
rc.xml) (version 5 / 2009.12.23:
rc.xml) (version 6 / 2010.03.03:
rc.xml).
Les themes pour OpenBox se situe dans
~/.themes.
NOTES:
- La gestion du system beep semble délégué au Window Manager, ainsi le désactiver depuis le panneau de préférence son de GNOME ne change rien puisque nous n'avons plus GNOME/Metacity mais GNOME/OpenBox. Comme de toute façon, c'est assez embêtant (pour avoir fait des beeps très sonore en pleine conf', je sais de quoi je parle >_<), le mieux est de désactiver carrèment le module. Ajouter dans
/etc/modprobe.d/blacklist:
- Pour le key-binding, le lanceur de programme de GNOME est:
gnome-panel-control --run-dialog
<alt> + Mouse Right pour redimensionner une fenêtre (avec Metacity, c'est <alt> + Mouse Middle).
Mouse Middle sur le bouton Toogle Maximized d'une fenêtre pour maximiser verticalement, Mouse Right pour maximiser horizontalement.
Mouse Middle sur le background pour la liste (multi-bureau) des applications.
openbox --reconfigure pour reloader la configuration d'OpenBox.
- Certaines applications utilise le
<A>+MouseClick (la touche ALT), dans la configuration par défaut d'OpenBox, cela change de Virtual Desktop. Une solution est de changer toutes les interactions <A>+MouseClick par <W>+MouseClick (la touche WIN).
REM:
- il y a un comportement de Metacity que j'aime bien: faire un drag sur le titre d'une fenêtre maximisée, provoque une minimisation + un déplacement. J'ai essayé de configurer OpenBox pour qu'il le fasse également, avec l'action
UnmaximizeFull puis Move dans le contexte Titlebar.
Mais cela ne fonctionne pas, la fenêtre est bien minimisée, mais en utilisant le point inférieur droit de la fenêtre comme position fixe, la fenêtre se trouve tout en bas et le pointeur de la souris, lui, ne bouge pas...
LIENS:
-
Configurer un protocol handler pour SecondLife et les SLURLs:
- aller dans about:config.
- filtrer les variables avec
network.protocol-handler. pour lister les protocoles gérés par Firefox.
- créer une nouvelle variable booléenne
network.protocol-handler.external.secondlife initialisée à true.
- créer une nouvelle variable de type string
network.protocol-handler.app.secondlife contenant le chemin vers le client SecondLife.
- une bonne lecture: http://startupmeme.com/the-coolest-firefox-aboutconfig-tricks/
Avec Firefox3, le chargement des pages Web par une application externe fait passer la fenêtre de Firefox au premier plan, un peu comme si l'utilisateur était monotâche et ne pouvait penser qu'à une seule chose à la fois.
C'est embêtant, par exemple: vous arrivez le matin au boulot, vous dépilez rapidement vos emails, dont quelques-uns de mailing-list de news, avec liens vers des pages Web, c'est assez pratique d'en faire ouvrir plusieurs (ouverture en background, dans différents tab d'un Firefox), puis d'aller les lire tous mais
après.
Pour changer ce comportement, pour que l'ouverture des pages Web se fasse en background, il y a l'option
browser.tabs.loadDivertedInBackground qu'il faut ajuster à
true.
Des shortcuts bien pratique avec Firefox:
- ALT+D: donner le focus à la barre d'adresse.
- CTRL+K: donner le focus à la barre de recherche.
- ALT+HOME: charger la homepage.
- ALT+LEFT: aller backward.
- ALT+RIGHT: aller foreword.
- CTRL+TAB: switcher au tab suivant.
- CTRL+SHIFT+TAB: switcher au tab précédent.
- /: recherche find as you type
- CTRL+G: sauter à la prochaine occurrence de la chaine recherchée.
- CTRL+SHIFT+G: sauter à la précédente occurrence de la chaine recherchée.
Les about: pages:
about:cache: voir la taille et le contenu des données en cache avec about:cache?device=disk ou about:cache?device=memory.
about:plugins.
about:mozilla.
Google Bookmarks et Google Notebook
Bien que les bookmarks de Google Bookmarks apparaissent dans le Google Notebook, il n'en font pas parti pour le moment.
Cependant, les bookmarks sont accessible en html:
http://www.google.com/bookmarks/bookmarks.html
et en feed
RSS ou ATOM:
http://www.google.com/bookmarks/find?q=&output=rss&num=10000
Je suppose que
http://www.rjonna.com/ext/gbookmarks.php utilise l'interface ATOM pour procéder à des actions sur les bookmarks via une requête
HTTP PUSH, POST ou DELETE.
Google Notebook et premier test avec gdata-1.15.2
GData est dit un protocole de publication (le protocole de publication de Google est gdata), et comprend le Atom et le
RSS, donc Google utilise des feeds basés sur un format
XML-syndication.
Google se positionne clairement sur un protocole REST.
Voir
http://code.google.com/apis/gdata/reference.html pour le protocole.
Pour un Hello World avec l'
API Java de GData voir
http://code.google.com/support/bin/answer.py?answer=78455&topic=12022
A priori, j'ai compris que AuthSub est utilisé par les applications web (en javascript ou php par exemple), pour se connecter en read/write à un compte google. Sinon, on peut se passer de AuthSub et utiliser un public feed.
Je voulais faire une application Java d'organisation de Google Bookmarks, ce n'est pas possible car l'accès aux notebooks par l'api google est uniquement read-only et en public-only, donc on ne peut pas obtenir le feed d'un private notebook. (seulement pour l'accès RSS si j'ai bien compris).
Les données sont gérées par des flux Atom et RSS.
RSS1 Rich Site Summary, en RDF, volonté de donner de la sémantique à l'information contenu dans le flux (format très utilisé en syndication de blog, notamment pour facilité le travail des sites spécialisés dans l'analyse de la blogosphere, cherchant à connaître les tendances du web et les groupes d'influence, ou à l'usage de site web 2.0 comme technorati).
RSS2 Really Simple Syndication, en XML, format le plus simple.
Atom (proposé par l'IETF) -> bien plus complet que
RSS, Google à adopté Atom. Atom propose un protocole basé sur
HTTP pour publier et éditer des ressources.
Il est possible d'accéder à un flux ou une entrée dans un flux avec la méthode GET.
En utilisant POST, PUT ou DELETE, on peut ajouter ou supprimer des ressources.
Pour la publication GData utilise Atom avec quelques extensions utilisant le Atom's standard extension model.
APP Atom Publishing Protocol
Dans le protocole gdata, PUT == update
C'est vraiment ainsi que ce voit l'intérêt de l'architecture REST, avec des web services classiques il faut construire un paquet
SOAP etc., tandis qu'avec du REST ce n'est juste qu'un paquet
HTTP à créer, ce qui peut être fait en javascript/
AJAX etc., par de multiples moyens, car GData est, en étant basé sur une architecture REST, neutre vis à vis du langage de programmation.
Pour le notebook:
http://code.google.com/apis/notebook/gdata.html#Obtain_ID
En cherchant un moyen de streamer ma webcam depuis mon soekris, je suis tombé sur gspca, un driver (un module) pour webcam tel que la logitech notebook (et un bon paquet d'autres).
L'auteur de ce driver, a coder tout un tas de petits outils fort sympathique: spcaview, spcaserv etc.
Les auteurs de gspca sont des français: Ecole Centrale d'Electronique ECE, un docteur en électronique de l'université Pierre et Marie Curie (Michel Xhaard), et le professeur d'informatique Sylvie Xhaard.
$spcaserv -w 5000 -d /dev/video0
par exemple permet de streamer la webcam locale, accéssible depuis le v4l video0, sur le port 5000.
$spcaview -w 192.168.0.1:5000
par exemple permet de visualiser la webcam dont le flux est streamé sur la machine 192.168.0.1 sur le port 5000.
C'est assez léger au niveau charge CPU, et puis j'ai été assez bluffer par les sources sans configure, juste un make qui se compilent sans mot dire.
Au premier abord, j'ai essayé de streamer mon flux avec VLC, mais il n'arrive pas a streamer car il n'arrive pas a packetiser le flux brut issu du v4l video0, du coup je fais préalablement un transcodage en mp4v puis streaming, mais sur le soekris c'est suicidaire! la machine n'est pas assez puissante.
En conclusion, j'arrive a streamer ma webcam, mais l'affichage est tout foiré, parasité, c'est pas utilisable, ou alors, il faut trouver une option de configuration de spcaserv pour spécifier l'encodage ou juste la palette, a voir...
(Cependant, sur une autre machine, plus puissante que le soekris, l'image est OK...)
De plus, le flux de sortie n'est pas lisible par VLC, il faut utiliser l'outil fourni $spcaview -w 192.168.0.1:5000
Il y a plusieurs type de fichier en flux de sortie: yux, jpg.
Mais même une sortie jpg, ne s'affiche pas dans une page
HTML.
téléchargement de gspca
http://mxhaard.free.fr/download.html
spcaview & spcatools howto
http://mxhaard.free.fr/sview.html
un rapide tutoriel
http://www.funix.org/fr/linux/webcam.htm
J'ai également tester camserv.
Fichier de configuration /etc/camserv/camserv.cfg, le copier dans $HOME.
Mettre à jour le fichier de config avec les bons fichier v4l, et un numéro de port non déjà assigné.
Cependant, je n'arrive pas a m'en servir avec VLC, j'ai réussi a avoir
une image, c'est tout. bof, bof quoi.
En fait, il semblerait que c'est VLC qui ne lit pas correctement le MPJEG.
$camserv ./camserv.cfg
Cependant, dans une page
HTML, ça fonctionne très bien, une balise

par exemple, et une image (MJPEG ???) rafraîchie toute les secondes est affichée dans la page
HTML.
A noté que localhost ou 127.0.0.1 n'est pas accepté, obligé de mettre l'adresse réseau locale... ne je sais pas pourquoi, c'est peut être à gérer dans le fichier de configuration camserv.cfg...
camserv est dispo dans les dépots debian.
page officielle
http://cserv.sourceforge.net/