Hoy en el laburo, queria escuchar un poco de musica. Cuando fui a usar el player por default de Fedora 10 Rythombox no me andaban los MP3s y que tenia que instalar un plugin.
Mi primera impresion fue un WTF? , luego recorde esta movida de free and libre only software. Y dije bueno a buscar repositorios.
Esto es lo que encontre y lo que termine haciendo:
Agregar los repositorios de rpmfusion:
# rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
# rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Instalar GStreamer plugins:
# yum install gstreamer gstreamer-plugins-bad gstreamer-plugins-ugly
Instalar otras app y librer?as:
* Amarok con soporte para MP3:
# yum install amarok phonon-backend-gstreamer
* MPlayer con soporte para MP3:
# yum install mplayer gnome-mplayer gnome-mplayer-common mencoder
* XMMS con soporte para MP3:
# yum install xmms xmms-mp3
* xine con soporte para MP3:
# yum install xine xine-lib-extras-nonfree
* Para crear MP3s con LAME :
# yum install lame lame-mp3x
* Para instalar todo junto con un solo comando:
# yum install xmms xine mplayer amarok xmms-mp3 gstreamer phonon-backend-gstreamer gstreamer-plugins-bad gstreamer-plugins-ugly xine-lib-extras-nonfree mplayer gnome-mplayer-common mencoder gnome-mplayer lame lame-mp3x
Hace un tiempo ya que uso macosx como mi plataforma en mi desktop y laptop. Dentro de las cosas que me gustan mucho, existen un par de comandos como open, pbcopy, pbpaste que me atraen muuuchoo. Estos dos ultimos como se daran cuenta son para interactuar con el clipboard lo cual es bastante grosso cuando estas haciendo cosas y queres copiar los resultados de la terminal simplemente con | a pbcopy lo copias.
Siempre me dije, loco que mal que linux no tenga esto. Hoy haciendo uso de utility_belt me di cuenta que Giles, no habia implementado la plataforma :linux en su gem y fue eso lo que me hizo preguntar: existira o no una tool para manejar el clipboard desde la consola?, no puede ser que osx lo tenga pero linux no.
Luego de preguntarle al Oraculo de la Matrix AKA Google, encontre un paquete que se llama xsel.
Instalacion
> emerge xsel # en Gentoo
> sudo apt-get install xsel # Ubuntu o Debian
> sudo yum install xsel #centos, fedora, RHE, etc…
Uso
> ls | xsel -i #Copia el resultado de ls al clipboard.
> xsel #Muestra lo que sea que este en el clipboard.
Bueno, espero que les sirva para algo como me sirve a mi y ademas les cuento que mande un diff a Giles (autor de utility_belt) para que patchee utility_belt y habilite toda las tools que hacen uso de clipboard (ie. pastie) en linux.
CODE:
clipboard.rb
diff --git a/lib/utility_belt/clipboard.rb b/lib/utility_belt/clipboard.rb
index 67bcf7e..1525d56 100644
--- a/lib/utility_belt/clipboard.rb
+++ b/lib/utility_belt/clipboard.rb
@@ -22,7 +22,27 @@ module UtilityBelt
IO.popen('pbcopy', 'w+') {|clipboard| clipboard.write(stuff)}
end
@@implemented = true
-
+
+ when :linux
+
+ if File.exist?('/usr/bin/xsel')
+ || File.exist?('/usr/local/bin/xsel')
+ || File.exist?('/usr/X11/bin/xsel')
+
+ def self.read
+ IO.popen('xsel') {|clipboard| clipboard.read}
+ end
+
+ def self.write(stuff)
+ IO.popen('xsel -i', 'w+') {|clipboard| clipboard.write(stuff)}
+ end
+ @@implemented = true
+ else
+ raise "You need to install package xsel\n
+ ubuntu,debian: sudo apt-get install\n
+ Gentoo: sudo emerge xsel\n
+ fedora,centos,opensuse: yum install xsel\n"
+ end
when :mswin
begin
UPDATE: Google search linux support and pastie now opens up in default browser.
I also decided to fork the github project to share all my changes so far. Github link
google.rb
diff --git a/lib/utility_belt/google.rb b/lib/utility_belt/google.rb
index 04d419f..11d0180 100644
--- a/lib/utility_belt/google.rb
+++ b/lib/utility_belt/google.rb
@@ -19,7 +19,8 @@ module UtilityBelt
Kernel.system("open #{url}")
when :windows
Kernel.system("start #{url}")
- #when :linux
+ when :linux
+ Kernel.system("xdg-open #{url}")
else
puts "Sorry, don't know how to open an URL from the command line on your platform"
end
pastie.rb
diff --git a/lib/utility_belt/pastie.rb b/lib/utility_belt/pastie.rb
index 0756f4b..99e6100 100644
--- a/lib/utility_belt/pastie.rb
+++ b/lib/utility_belt/pastie.rb
@@ -20,6 +20,8 @@ module UtilityBelt
Kernel.system("open #{pastie_url}")
when :mswin
Kernel.system("start #{pastie_url}")
+ when :linux
+ kernel.system("xdg-open #{pastie_url}")
end
return pastie_url
