The tty

Inicio :: Perfil :: Archivos :: Amigos

translator



#!/bin/bash
# AUTOR: Luis Moreno Rodriguez          2010
# Modificado: kir            2010

function translate () {
    if [ $# = 0 ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
        echo -e "Traduce texto con el Google Translator."
        echo -e " Uso :"
        echo -e "$0 origen destino [palabra o texto "
        echo -e "$0 -l para la lista de idiomas"
        return
    fi
    if [ "$1" = "-l" ]; then
printf "afrikaans af    indonesio id "
printf "albanés      sq    inglés    en "
printf "alemán      de    irlandés  ga "
printf "árabe      ar    islandés  is "
printf "armenio   hy    italiano  it "
printf "azerí      az    japonés      ja "
printf "bieloruso be    letón     lv "
printf "búlgaro      bg    lituano   lt "
printf "catalán   ca    macedonio mk "
printf "checo      cs    malayo      ms "
printf "chino       zh    maltés    mt "
printf "ch_trd zh-TW    noruego   no "
printf "coreano      ko    persa     fa "
printf "creole .H ht    polaco      pl "
printf "croata      hr    portugués pt "
printf "danés      da    rumano      ro "
printf "eslovaco  sk    ruso      ru "
printf "esloveno  sl    serbio      sr " 
printf "español      es    suajili      sw "
printf "estonio      et    sueco     sv "
printf "euskera      eu    tagalo    tl "
printf "finlandés fi    tailandés th "
printf "francés      fr    turco      tr "
printf "galés       cy    ucraniano uk "
printf "gallego      gl    urdu      ur "
printf "georgiano ka    vietnamit vi "
printf "griego      el    yiddish   yi "
printf "hebreo      iw "
printf "hindi      hi "
printf "holandés  nl "
printf "húngaro      hu "
    return
    fi

    local TEMP_FILE="/tmp/deleteme.$$"

    if [ $# -gt 1 ]; then
        local IS_WORD="false"
    else
        local IS_WORD="true"
    fi
SRC=$1
DST=$2

    local LNG=`echo "$LANG" | cut -d '_' -f 1`
    local CHARSET=`echo $LANG | cut -d '.' -f 2` #usefull if charset is unicode

    if [ "$IS_WORD" = "true" ]; then
        lynx -accept_all_cookies -dump -hiddenlinks=ignore -nonumbers -assume_charset=$CHARSET -display_charset=$CHARSET "http://www.google.com/dictionary?aq=f&langpair=${SRC}|${DST}&q=${1}&hl=$LNG"| grep -C 2 -A 5 -w "*" > /$TEMP_FILE

        if [ ! -s $TEMP_FILE ]; then
            echo "No translation for '$1'"
        else
            cat $TEMP_FILE
        fi
        rm -f $TEMP_FILE
    else
shift
shift
        wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$@&langpair=${SRC}|${DST}" | sed 's/.*"translatedText":"\([^"]*\)".*}/\1\n /';
    fi
}
translate $*

************************************************

kir@zayn:~$ trans es sq me gusta comer calamares fritos
Më pëlqen të ngrënë calamari skuqur
kir@zayn:~$ trans sq ja Më pëlqen të ngrënë calamari skuqur
私は揚げイカを食べるのが好き
kir@zayn:~$ trans ja lv 私は揚げイカを食べるのが好き
Man patīk ēst fritēts kalmārs
kir@zayn:~$ trans lv es Man patīk ēst fritēts kalmārs
Me gusta comer calamares fritos

************************************************

El script original, sin modificar, puede encontrarse aquí.

date: 16/08/2010

dic.bat


@echo off       

if "%1" == ""  goto :ayuda

if "%1"=="esen" lynx.bat -dump -nolist -useragent=lynx "http://www.wordreference.com/esen/%2" | more
if "%1"=="enes" lynx.bat -dump -nolist -useragent=lynx "http://www.wordreference.com/enes/%2" | more
if "%1"=="esfr" lynx.bat -dump -nolist -useragent=lynx "http://www.wordreference.com/esfr/%2" | more
if "%1"=="fres" lynx.bat -dump -nolist -useragent=lynx "http://www.wordreference.com/fres/%2" | more
if "%1"=="espt" lynx.bat -dump -nolist -useragent=lynx "http://www.wordreference.com/espt/%2" | more
if "%1"=="ptes" lynx.bat -dump -nolist -useragent=lynx "http://www.wordreference.com/ptes/%2" | more
if "%1"=="esit" lynx.bat -dump -nolist -useragent=lynx "http://it.dicios.com/esit/%2" | more
if "%1"=="ites" lynx.bat -dump -nolist -useragent=lynx "http://it.dicios.com/ites/%2" | more
if "%1"=="esde" lynx.bat -dump -nolist -useragent=lynx "http://diccionario.reverso.net/espanol-aleman/%2" | more
if "%1"=="dees" lynx.bat -dump -nolist -useragent=lynx "http://diccionario.reverso.net/aleman-espanol/%2" | more
if "%1"=="esal" lynx.bat -dump -nolist -useragent=lynx "http://www.foreignword.com/cgi-bin/albesp.pl?lengua=espalb&termbox=%2" | more
if "%1"=="ales" lynx.bat -dump -nolist -useragent=lynx "http://www.foreignword.com/cgi-bin/albesp.pl?lengua=albesp&termbox=%2" | more
if "%1"=="esca" lynx.bat -dump -nolist -useragent=lynx "http://www.foreignword.com/cgi-bin/albesp.pl?lengua=albesp&termbox=%2" | more
if "%1"=="caes" lynx.bat -dump -nolist -useragent=lynx "http://www.foreignword.com/cgi-bin/albesp.pl?lengua=albesp&termbox=%2" | more
if "%1"=="eslat" lynx.bat -dump -nolist -useragent=lynx "http://dictionaries.travlang.com/SpanishLatin/dict.cgi?query=%2&max=50" |more
if "%1"=="lates" lynx.bat -dump -nolist -useragent=lynx "http://dictionaries.travlang.com/LatinSpanish/dict.cgi?query=%2&max=50" |more
if "%1"=="esfi" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=31&w=%2" | more
if "%1"=="fies" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=31&k2=87&w=%2" | more
if "%1"=="esbu" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=164&w=%2" | more
if "%1"=="bues" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=164&k2=87&w=%2" | more
if "%1"=="escz" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=21&w=%2" | more
if "%1"=="czes" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=21&k2=87&w=%2" | more
if "%1"=="eshr" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=170&w=%2" | more
if "%1"=="hres" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=170&k2=87&w=%2" | more
if "%1"=="esdk" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=23&w=%2" | more
if "%1"=="dkes" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=23&k2=87&w=%2" | more
if "%1"=="esgr" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=37&w=%2" | more
if "%1"=="gres" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=37&k2=87&w=%2" | more
if "%1"=="eshu" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=43&w=%2" | more
if "%1"=="hues" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=43&k2=87&w=%2" | more
if "%1"=="esil" lynx.bat -dump -nolist -useragent=lynx "http://dicts.info/2/hebrew-spanish.php?word=%2&begin=Search" | more
if "%1"=="iles" lynx.bat -dump -nolist -useragent=lynx "http://dicts.info/2/hebrew-spanish.php?word=%2&begin=Search" | more
if "%1"=="esjp" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=55&w=%2" | more
if "%1"=="jpes" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=55&k2=87&w=%2" | more
if "%1"=="esar" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=118&k2=87&w=%2" | more
if "%1"=="ares" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=118&w=%2" | more
if "%1"=="rues" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=81&k2=87&w=%2" | more
if "%1"=="esru" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=87&k2=81&w=%2" | more
if "%1"=="es" lynx.bat -dump -nolist -useragent=lynx "http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_%20HTML=2&LEMA=%2" | more
if "%1"=="en" lynx.bat -dump -nolist -useragent=lynx "http://dictionary.reference.com/browse/%2" | more
if "%1"=="it" lynx.bat -dump -nolist -useragent=lynx "http://www.dizionario-italiano.it/definizione-lemma.php?definizione=%2&lemma=C042C000" | more
if "%1"=="fr" lynx.bat -dump -nolist -useragent=lynx "http://www.cnrtl.fr/definition/%2" | more
if "%1"=="ast" lynx.bat -dump -nolist -useragent=lynx "http://mas.lne.es/diccionario/index.php?palabra=%2" | more
if "%1"=="ca" lynx.bat -dump -nolist -useragent=lynx "http://dlc.iec.cat/results.asp?txtEntrada=%2&operEntrada=0" | more
if "%1"=="encn" lynx.bat -dump -nolist -useragent=lynx "http://www.mandarintools.com/cgi-bin/wordlook.pl?word=%2&searchtype=english&where=whole" | more
if "%1"=="cnen" lynx.bat -dump -nolist -useragent=lynx "http://www.mandarintools.com/cgi-bin/wordlook.pl?word=%2&searchtype=english&where=whole" | more
if "%1"=="zuen" lynx.bat -dump -nolist -useragent=lynx "http://www.websters-online-dictionary.org/translation/Zulu/%2" | more
if "%1"=="enmal" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=1&k2=228&w=%2" | more
if "%1"=="malen" lynx.bat -dump -nolist -useragent=lynx "http://www.dicts.info/ud.php?k1=228&k2=1&w=%2" | more
if "%1"=="enro" lynx.bat -dump -nolist -useragent=lynx " http://www.dictionarenglezroman.ro/?cuvant=%2" | more
if "%1"=="roen" lynx.bat -dump -nolist -useragent=lynx "http://www.dictionarromanenglez.ro/?cuvant=$%2" | more
if "%1"=="entag" lynx.bat -dump -nolist -useragent=lynx "http://www.foreignword.com/cgi-bin/engtag.cgi?language=engtag&termbox=%2&B1=Search" | more
if "%1"=="tagen" lynx.bat -dump -nolist -useragent=lynx "http://www.foreignword.com/cgi-bin/engtag.cgi?language=tageng&termbox=%2&B1=Search" | more
goto :EOF

 :ayuda
echo.
echo  Uso:
echo %0 idiomaidioma palabra  (Ej.: %0 esjp perro)
echo %0 idioma palabra, para el diccionario de definiciones  (Ej.: %0 en dog)
echo.
echo Lista de idiomas:
echo  es ^<--^> al ar bu ca cz de dk en fi fr gr hr hu il it jp lat pt ru
echo  en ^<--^> cn mal(tés) tag(alog) ro 
echo zuen -^> Zulu-Ingles 
echo.
echo Dicc. de definiciones:  es en it fr ast(turiano) ca(tala) ga(lego)                
echo.


lynx.bat

@ECHO OFF
command /C
set term=vt100
set home=%CD%
set temp=%HOME%\tmp
set lynx_cfg=%HOME%\lynx.cfg
set lynx_lss=%HOME%\opaque.lss
%HOME%\lynx.exe %1 %2 %3 %4


date: 15/08/2010

Dic


Este script permite la consulta de varios diccionarios online desde la línea de comandos.
Usa lynx como navegador. No olvidar configurar lynx para que muestre los caracteres con utf-8 .


#!/bin/bash

browser="lynx -dump -nolist -useragent=lynx "

esen="http://www.wordreference.com/esen/$2"
enes="http://www.wordreference.com/enes/$2"
esfr="http://www.wordreference.com/esfr/$2"
fres="http://www.wordreference.com/fres/$2"
espt="http://www.wordreference.com/espt/$2"
ptes="http://www.wordreference.com/ptes/$2"
esit="http://it.dicios.com/esit/$2"
ites="http://it.dicios.com/ites/$2"
esde="http://diccionario.reverso.net/espanol-aleman/$2"
dees="http://diccionario.reverso.net/aleman-espanol/$2"
esal="http://www.foreignword.com/cgi-bin/albesp.pl?lengua=espalb&termbox=$2"
ales="http://www.foreignword.com/cgi-bin/albesp.pl?lengua=albesp&termbox=$2"
esca="http://dicts.info/2/catalan-spanish.php?word=$2&begin=Search"
caes="http://dicts.info/2/catalan-spanish.php?word=$2&begin=Search"
lates="http://dictionaries.travlang.com/LatinSpanish/dict.cgi?query=$2&max=50"
eslat="http://dictionaries.travlang.com/SpanishLatin/dict.cgi?query=$2&max=50"
esfi="http://www.dicts.info/ud.php?k1=87&k2=31&w=$2"
fies="http://www.dicts.info/ud.php?k1=31&k2=87&w=$2"
esbu="http://www.dicts.info/ud.php?k1=87&k2=164&w=$2"
bues="http://www.dicts.info/ud.php?k1=164&k2=87&w=$2"
escz="http://www.dicts.info/ud.php?k1=87&k2=21&w=$2"
czes="http://www.dicts.info/ud.php?k1=21&k2=87&w=$2"
eshr="http://www.dicts.info/ud.php?k1=87&k2=170&w=$2"
hres="http://www.dicts.info/ud.php?k1=170&k2=87&w=$2"
esdk="http://www.dicts.info/ud.php?k1=87&k2=23&w=$2"
dkes="http://www.dicts.info/ud.php?k1=23&k2=87&w=$2"
esgr="http://www.dicts.info/ud.php?k1=87&k2=37&w=$2"
gres="http://www.dicts.info/ud.php?k1=37&k2=87&w=$2"
eshu="http://www.dicts.info/ud.php?k1=87&k2=43&w=$2"
hues="http://www.dicts.info/ud.php?k1=43&k2=87&w=$2"
esil="http://dicts.info/2/hebrew-spanish.php?word=$2&begin=Search"
iles=$esil
esjp="http://www.dicts.info/ud.php?k1=87&k2=55&w=$2"
jpes="http://www.dicts.info/ud.php?k1=55&k2=87&w=$2"
esar="http://www.dicts.info/ud.php?k1=118&k2=87&w=$2"
ares="http://www.dicts.info/ud.php?k1=87&k2=118&w=$2"
rues="http://www.dicts.info/ud.php?k1=81&k2=87&w=$2"
esru="http://www.dicts.info/ud.php?k1=87&k2=81&w=$2"
es="http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_%20HTML=2&LEMA=$2"
en="http://dictionary.reference.com/browse/$2"
it="http://www.dizionario-italiano.it/definizione-lemma.php?definizione=$2&lemma=C042C000"
fr="http://www.cnrtl.fr/definition/$2"
ast="http://mas.lne.es/diccionario/index.php?palabra=$2"
ca="http://dlc.iec.cat/results.asp?txtEntrada=$2&operEntrada=0"
encn="http://www.mandarintools.com/cgi-bin/wordlook.pl?word=$2&searchtype=english&where=whole"
cnen=$encn
zuen="http://www.websters-online-dictionary.org/translation/Zulu/$2"
enmal="http://www.dicts.info/ud.php?k1=1&k2=228&w=$2"
malen="http://www.dicts.info/ud.php?k1=228&k2=1&w=$2"
enro="http://www.dictionarenglezroman.ro/?cuvant=$2"
roen="http://www.dictionarromanenglez.ro/?cuvant=$2"
entag="http://www.foreignword.com/cgi-bin/engtag.cgi?language=engtag&termbox=$2&B1=Search"
tagen="http://www.foreignword.com/cgi-bin/engtag.cgi?language=tageng&termbox=$2&B1=Search"

ayuda()
{
echo
echo "Uso: $0 idiomaidioma palabra"
echo "Ej.: $0 esjp perro"
echo "o $0 idioma palabra, para el diccionario de definiciones"
echo "Ej.: $0 en dog"
echo ""
echo "Lista de idiomas:"
echo ""
echo "es <--> al ar bu ca cz de dk en fi fr gr hr hu il it jp lat pt ru"
echo "en <--> cn mal(tés) tag(alog) ro"
echo "zuen -> Zulú-Inglés"
echo
echo "Dicc. de definiciones:  es en it fr ast ca"    
}

if [ $# -lt 2 ];
 then
  ayuda
  exit 1
fi

pp=$1
j=$pp
k=${!j}

$browser$k | less

exit 0

--------

~$ dic encn dictionary



date: 7/01/2010

hii all

 
¡El script saludador para irc!
Se le pasan al script los parámetros: server, nick, canal , "saludo", "despedida" y tiempo de estancia en el canal.
Se conecta al server, entra al canal, saluda, espera el tiempo indicado, se despide y se va.  El log queda registrado en ~/irc/server/#canal/out
Obvia decir que hay que tener ii instalado.

#!/bin/bash
habla()
 {
    echo "$*" >> $ruta/$server/#$canal/in
 return 0                                                                       
}
  comprobar_conexion()    
{
 if pidof ii
  then  echo "Conectado a " $server  
 else
   echo "No hay conexión con " $server   
   exit 1
fi 
}  
  ruta=~/irc

    if [ "$(id -u)" == "0" ]; then
    echo "No es buena idea salir a irc como root."
     exit 1
  fi
 
    if [ $# -lt 4 ] ; then    
 echo
 echo "Uso: $0  server nick canal  saludo despedida tiempo"
 echo "El nombre del canal se escribe sin la almohadilla "
 echo "Saludo y despedida entre comillas, tiempo en seg."
 echo
       exit 1
 fi  
 server=$1
 nick=$2  
 canal=$3 
 texto=$4  
 desp=$5
 tiempo=$6
ii -s $server -n $nick &
echo "Conectando con " $server"..."
sleep 4 
 comprobar_conexion
echo "/j #$canal" > $ruta/$server/in
habla $texto
 sleep $tiempo
habla $desp
sleep 2
killall ii
 

date: 30/03/2009

A liiarla!

Ingenious ideas are simple. Ingenious software is simple. Simplicity is the
heart of the Unix philosophy. The more code lines you have removed, the more
progress you have made. As the number of lines of code in your software
shrinks, the more skilled you have become and the less your software sucks." 
                                             Suck less Philosophy


Gracias al sorprendente vt102 conocí ii, un minimalista cliente de irc.
Para tratar de manejarlo y entender su funcionamiento hice este pequeño script, basándome en los ya existentes en la página de ii y en el script de vt102.
El script ejecuta ii con las opciones server , nick, pass y canales, entra en los canales indicados, abre un terminal con splitvt y multitail en ejecución y presenta un menú desde el cual escogemos en qué canal escribir u otras opciones.
Pulsando Ctrl+D paramos la entrada de texto y volvemos al menú; la opción exit mata el proceso ii , splitvt, y borra los archivos temporales.

Script de inicio (puede llamarse como se quiera)

#!/bin/bash
# El script solo sirve para entrar a un server; para entraren más de uno
# habría que lanzar otra instancia en otro terminal


comprobar_conexion()
{
if pidof ii
then
    echo "Conectado a " $server
 else
    echo "No hay conexión con " $server
fi       
}


ruta=~/irc
     
# Si entramos como root nos riñe
if [ "$(id -u)" == "0" ]; then
   echo "No es buena idea salir a irc como root. Por favor, loguea como usuario"
      exit 1
       fi
      
       # Si no hay parametros nos vamos. Los argumentos pueden ser mínimo 3:
       # server, nick, canal o server, nick, key;
       # en los 2 casos el script continua, aunque en el segundo caso se conectará al server sin
       # entrar a ningun canal
      
       if [ $# -lt 3 ] ; then
        echo
     echo "Uso: $0  server nick [-k key] canal1 canal2... canaln"
     echo "Los nombres de los canales se escriben sin la almohadilla "
     echo
     exit 1
    fi


# Si ponemos nick y pass
if [ $3 = "-k" ]; then
  server=$1
  pass=$4
    ii -s $server -n $2 -k $4 &
      echo "Conectando con " $1"..."
        sleep 5
        comprobar_conexion
    shift
    shift
    shift
    shift
            for i in "$@"
               do
                 echo "/j #$i" > $ruta/$server/in
               done
else
# Si no ponemos pass
 server=$1
 ii -s $server -n $2 &
 echo "Conectando con " $1"..."
 sleep 5
         comprobar_conexion 
        shift
        shift
       for i in "$@"
               do
                 echo "/j #$i" > $ruta/$server/in
               done
fi     
   
# Guarda los canales para el out y el in
for i in "$@"
 do
     echo  "-f "$ruta/$server/#$i/out >> canal_out.txt
     echo $ruta/$server/#$i/in >> canal_in.txt
 done

canal_out=`cat canal_out.txt`

splitvt multitail $canal_out -lower ii_1_in -bottom -s 50
# ii_1_in es un script externo de entrada de texto
exit 0


Script para entrada de texto  (hay que llamarlo ii_1_in)

#!/bin/bash
# Este escript debe llamarse ii_1_in


cont=0
while read linea; do
  opciones[$cont]=`echo "$linea"`
   let cont=cont+1
done < canal_in.txt

mensaje(){
echo "Pulsa Ctrl+d para volver al menú"
}
menu(){
echo
 cont=$(($cont-1))
   for i in `seq 0 $cont`
     do
    printf " [$i]Canal $i"
     done
 cont=$(($cont+1))
       
    printf "     [w] W3m [m] Mail [s] Shell    [x] Exit"
    echo
    printf "\nIntroduce un nº para seleccionar el canal, o la opción. \nCtrl+d vuelve al menú: "
}

while true
 do
   clear
   menu
    read choise
    if [ $choise = "x" ]
      then
        rm canal_in.txt
        rm canal_out.txt
        killall ii
        killall splitvt
    exit 0
  fi

    if [ $choise = "m" ]
    then
    alpine
    mensaje
    fi   
    
    if [ $choise = "w" ]
    then
    w3m -B
    mensaje
    fi
       
    if [ $choise = "s" ]
        then
        /bin/bash
    mensaje
    fi
 

      actual=${opciones[$choise]}
      clear
      printf "Ctrl+d para volver al menú \n>"
      cat >> $actual
     
 done



  

date: 23/03/2009

Museekd


Museekd es un daemon/cliente para Soulseek escrito en C++ que puede
ser controlado con varios interfaces o GUIs: museeq (QT), mucous (Curses)
o desde la linea de comandos con museekcontrol.

Usaremos el comando musetup para configurar museekd.

% musetup

Museek daemon setup

Settings that must be set for museekd to run:
Server, Username, Password, Interface Password, Download Dir

1. Soulseek server
2. Peer connections
3. Interface listeners
4. Network and filesystem character sets
5. Download and incomplete file directory

6. Shared directories
7. Buddy-Only Shared directories

0. Exit museek setup

Pick a number, any number:

Para que museekd se ejecute como daemon en el arranque del sistema creamos
el siguiente script en /etc/init.d:

#! /bin/sh

# Written by chopeen
#
# Based on SeeSchloss' museek & mulog init.d scripts for Gentoo
#
USER=kir #(nuestro nombre en el sistema)
MUSEEKD_USER=kir_tty #(nuestro nombre en soulseek)
MUSEEKD_CONFIG=/home/kir/.museekd/config.xml
MUSEEKD_PATH=/usr/bin

case "$1" in
start)
echo "Starting museekd as user $MUSEEKD_USER"
start-stop-daemon --start --quiet --exec $MUSEEKD_PATH/museekd /
--chuid $USER --background --pidfile /var/run/museekd.pid /
--make-pidfile -- -c $MUSEEKD_CONFIG
;;
stop)
echo "Stopping museekd"
start-stop-daemon --stop --quiet --pidfile /var/run/museekd.pid
;;
esac

exit 0

Le damos permiso de ejecución:
chmod +x /etc/init.d/museek
y creamos los enlaces a los scripts de arranque:
update-rc.d museek defaults
Si todo va bien el script debería ejecutarse al iniciar el sistema.

Control de museekd desde la línea de comandos

Instalar museekd-tools:
apt-get install museekd-tools
Esto nos proveerá de los ejecutables museekcontrol y mulog.

museekcontrol
Es un cliente para museekd en Python que permite acceder a la mayoría
de las funciones de Soulseek desde la línea de comandos.
Se crea un archivo (~/.museekd/museekcontrol.config) donde configuraremos
interface, password (los mismos que tengamos en ~/.museekd/config.xml)
y el directorio de los logs:

interface = localhost:2240
password = ********

[museekcontrol]
log_dir = ~/.museekd/logs/

Invocamos el programa con :

museekcontrol + opción

Búsqueda y presentación de resultados:
--gs --gsearch     lo_que_sea Hace una búsqueda globlal.
--rs --rsearch     lo_que_sea Busca en una sala
--bs --bsearch     lo_que_sea" Busca entre los amigos

Salas de chat:
-r --rooms     Muestra la lista de salas
--roomlist     Refresca la lista de salas

Tickers: ¿?

Chat privado:
--sprivate user

Usuarios:
--buddy --unbuddy user Añade o quita usuario de la lista de     amigos.
--ignore --unignore user Añade o quita usuario de la lista de ignorados.
--ban --unban user Añade o quita usuario de la lista de baneados.
--trust --distrust user Añade o quita usuario de la lista de confianza.
--comment texto Comentario para el usuario en la lista.

Información de usuarios:
--info user     Muestra información del usuario. Si hay imagen
disponible se guarda en .img
--minfo         Monitoriza toda la información de usuarios.
--ip user        Muestra la ip y puerto de un usuario.

Transferencias:
-t --transfers Muestra el estado actual de las transferencia
--mt --mtransfers Monitoriza las transferencias
--download slsk://user/path
Añade un archivo o directorio a la cola de descargas
--upload slsk://user/path
Intenta subir un archivo al usuario.
--abortup slsk://user/path
Aborta la subida.
--abortdown slsk://user/path
Aborta la descarga.
--removeup slsk://user/path
Borra la subida de la cola.
--removedown slsk://user/path
Borra la bajada de la cola.
--retryup slsk://user/path
Reintenta la subida (para subidas remotas).
--retrydown slsk://user/path
Reintenta la bajada.

Mulog
Es un script que conecta con museekd y guarda los logs del chat,
conversaciones privadas y mensajes del sistema.

~/.museekd/mulog.config

[mulog]
log_dir = ~/.museekd/logs/

[connection]
interface = localhost:2240
password = ********


Control de museekd con mucous
(Curses)



   

date: 13/03/2009

sl

Ejecutando sl en un terminal atravesará nuestra pantalla una locomotora hacia un destino desconocido.

  Dicen que el programa es una broma para cuando alguien se equivoque al usar el comando ls, argumento para crédulos e inocentes; ¿quién va a equivocarse con un comando de dos letras?

  Se comenta que con las últimas tarjetas gráficas puede verse hasta el revisor, cosa que no dudo.

Es un útil programa de gran puntualidad, el tren pasará a su hora cada vez que lo ejecutemos.


   Se puede llamar el programa con los siguientes parámetros:


  -a          El tren llega accidentado y pidiendo socorro

  -l           Muestra un tren más pequeño y con 2 vagones

 -F          Sale un absurdo tren volador 

  -e          Permite interrumpir el programa con Ctrl+C


  

date: 18/02/2009

DD-WRT


Para entrar al RedBoot usar el mismo procedimiento que para OpenWrt:
descargar linux.bin, preparar un servidor tftp, etc.

telnet 192.168.1.1 9000   
 == Executing boot script in 8.530 seconds - enter ^C to abort
    ^C
    RedBoot> ip_address -l 192.168.1.1/24 -h 192.168.1.100
    IP: 192.168.1.254/255.255.255.0, Gateway: 0.0.0.0
    Default server: 192.168.1.166

    RedBoot> fis init
    About to initialize [format] FLASH image system - continue (y/n)? y
    *** Initialize FLASH Image System
    … Erase from 0xa87e0000-0xa87f0000: .
    … Program from 0×80ff0000-0×81000000 at 0xa87e0000: .
    RedBoot> load -r -b 0x80041000 linux.bin
    Using default protocol (TFTP)
    Raw file loaded 0×80041000-0×80684fff, assumed entry at 0×80041000
    RedBoot> fis create linux
Tardará unos 15 minutos, procurar no ponerse nervioso ni tocar nada.
    RedBoot> fconfig //Pulsa enter//
    Run script at boot: true //Pulsa enter//
    Boot script:
    .. fis load -l vmlinux.bin.l7
    .. exec
    Enter script, terminate with empty line
Saldrá un nuevo prompt (>>) donde se introducen los siguientes comandos:
    >> fis load -l linux //Pulsa enter//
    >> exec //Pulsa enter//
    >> //Pulsa enter//
A continuación salen una serie de preguntas sobre parámetros de configuración:
    Boot script timeout (1000ms resolution): 10 //Pulsa enter//
    Use BOOTP for network configuration: false //Pulsa enter//
    Gateway IP address: //Pulsa enter//
    Local IP address: 192.168.1.254 //Pulsa enter//
    Local IP address mask: 255.255.255.0 //Pulsa enter//
    Default server IP address: //Pulsa enter//
    Console baud rate: 9600 //Pulsa enter//
    GDB connection port: 9000 //Pulsa enter//
    Force console for special debug messages: false //Pulsa enter//
    Network debug at boot time: false //Pulsa enter//
    Update RedBoot non-volatile configuration - continue (y/n)? y //Pulsa enter//
    … Erase from 0xa87e0000-0xa87f0000: .
    … Program from 0×80ff0000-0×81000000 at 0xa87e0000: .
    RedBoot>reset //Pulsa enter//

 

Ya tenemos dd-wrt instalado en la fonera,
ahora podremos cambiar nuestra ip a una del rango 192.168.1.0/24
y entrar a la 192.168.1.1 para ver el menú de administracion
Nombre: root
Password: admin
  

date: 21/12/2008

Portar aplicaciones a DSLinux


Una vez compilado DSLinx y el toolchain, desde el directorio    ../trunk ejecutar

/media/hdb1/trunk % make xsh
make[1]: se ingresa al directorio `/media/hdb1/trunk'
Spawning cross-compilation shell. Happy hacking! :-)
Type exit to get out of here
YOU CANNOT COMPILE ALL OF DSLinux FROM THIS SHELL!
It is suitable only for porting applications and libraries.
------ Environment: ----------------------------------------------------
CC =  ucfront-gcc arm-linux-elf-gcc
CFLAGS   =   -O2 -g -fomit-frame-pointer -fno-common -fno-builtin -Wall 
-mswp-byte-writes -DCONFIG_NDS_ROM8BIT -mcpu=arm946e-s -mfpu=fpe3 -DEMBED -D__PIC__ -fpic
 -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
LD       =   arm-linux-elf-ld
LDFLAGS  =   -Wl,-elf2flt -D__PIC__ -fpic -msingle-pic-base -mswp-byte-writes
------------------------------------------------------------------------
 -xsh- w >


Este comando proporciona un nuevo shell (bastante incómodo
de usar) con un entorno preparado para la compilación cruzada.

Ejemplo:
(Descargar el código fuente en user/ y desde trunk/ ejecutar make xsh)

-xsh- w > cd  /user/bitchx
-xsh- w
> ./configure --prefix=/usr --host=${CROSS} 
-xsh- w > make
-xsh- w > cd source
-xsh- w > file BitchX 
 BitchX: BFLT executable - version 4 gotpic 
-xsh- w > file BitchX.gdb
BitchX.gdb: ELF 32-bit LSB executable, ARM, version 1, statically linked, not
stripped    

exit para salir del shell y volver a ../trunk

A continuación habría que copiar el ejcutable al directorio linux/usr/bin
generado por la compilación de DSLinux y, si fuera el caso,
los archivos de configuración a sus respectivos directorios

  

date: 13/12/2008

dslinux

 
svn checkout http://dslinux.gits.kiev.ua/trunk

Esto crea un directorio trunk/ con las fuentes de dslinux

-Compilar el toolchain:

cd trunk/toolchain
export PATH=$PATH:/media/hdb1/trunk/toolchain/prefix/bin
make fetch (descarga los programas que va a necesitar para la compilación)
make


-Compilar DSlinux

cd ..
make menuconfig


La primera vez que se compila el README recomienda hacerlo con las opciones por defecto:
---> Kernel/Library/Defaults Selection
    --->  [*] Default all settings (lose changes)

make

En una segunda compilación cambiamos lo que nos interese de la config y arreando.
En /media/hdb1/trunk/images están los archivos dslinux.nds y el directorio /linux que habrá que copiar a la tarjeta (M3, R4, DSTT, etc)





Página del proyecto: http://dslinux.org/



  

date: 29/11/2008

bloginom - blog gratis, opciones y plantillas exclusivas e personalizables :: nominom © 2005