lunes, 28 de junio de 2010

Sincronizar agenda, calendario y notas de un Nokia 5800 en Linux

En el siguiente artículo se muestran los pasos necesarios para sincronizar la agenda, el calendario y las notas de un Nokia 5800 con las aplicaciones de KDE den Debian GNU / Linux.

El primer paso será instalar los programas necesarios. Para ello, ejecutamos el siguiente comando:

aptitude install bluez-utils multisync-tools opensync-plugin-kdepim opensync-plugin-syncml

El siguiente paso será obtener la dirección bluetooth del móvil. Para ello, activamos el bluetooth en el móvil y ejecutamos lo siguiente:

hcitool scan

Aparecerán listados los dispositivos bluetooth encontrados. El siguiente paso es listar los canales bluetooth del teléfono ejecutando el siguiente comando con la dirección obtenida en el comando anterior:

sdptool browse XX:XX:XX:XX:XX:XX | grep -e "Service Name" -e Channel

El canal que nos interesa es el del servicio "SyncMLClient", que en este caso es el canal 7.

Ejecutamos los siguientes comandos:

msynctool --addgroup "Nokia 5800" msynctool --addmember "Nokia 5800" kdepim-sync msynctool --addmember "Nokia 5800" syncml-obex-client msynctool --configure "Nokia 5800" 2

En este punto nos mostrará el contenido de la configuración para la conexión con el móvil. La configuración debe ser la siguiente:

<config> <username></username> <password></password> <type>2</type> <bluetooth_address>XX:XX:XX:XX:XX:XX</bluetooth_address> <bluetooth_channel>X</bluetooth_channel> <interface>0</interface> <version>1</version> <identifier>PC Suite</identifier> <wbxml>2</wbxml> <recvLimit>0</recvLimit> <maxObjSize>0</maxObjSize> <usestringtable>0</usestringtable> <onlyreplace>0</onlyreplace> <contact_db>Contacts</contact_db> <calendar_db>Calendar</calendar_db> <note_db>Notes</note_db> </config>

Los campos "bluetooth_address" y "bluetooth_channel" se deben completar con la dirección y canal bluetooth obtenidos en los pasos previos.

En el móvil debemos poner el valor "Preguntar antes" en el parámetro "Ajustes -> Conectividad -> Transferencia de datos -> Sincronización -> Opciones -> Editar Perfil de Sincronización -> Permitir peticiones sync.".

Para realizar la sincronización se debe ejecutar el siguiente comando:

msynctool --sync "Nokia 5800"

lunes, 26 de abril de 2010

Aplicaciones Indispensables: Para el desarrollo en Java

En esta entrada iré recopilando y actualizando las aplicaciones para Windows, Mac OS X y Linux que me parecen indispensables para el desarrollo en el mundo Java:

jManage
(GPL, Unix / Linux, Mac OS X, Windows)
Consola JMX para monitorizar aplicaciones Java. Compatible con los servidores de aplicaciones JBoss, Weblogic, Tomcat y Webspehere, y aplicaciones JSR160 (MX4J y JDK 1.5).
Corre como un proceso autónomo sobre un servidor Jetty y se conecta de forma remota a las aplicaciones.

Winmerge
(GPL, Windows)
Utilidad para comparar ficheros o directorios.
Se integra con TortoiseSVN, TortoiseCVS y Rational Clearcase.

jEdit
(GPL, Unix / Linux, Mac OS X, Windows)
Potente editor de ficheros de texto escrito en Java.
Muy recomendable a la hora de resolver problemas de codificación de ficheros.

Portecle
(GPL, Unix / Linux, Mac OS X, Windows)
Herramienta visual para trabajar con Keystores.

SQuirreL SQL Client
(LGPL, Unix / Linux, Mac OS X, Windows)
Cliente SQL escrito en Java que permite trabajar con bases de datos de diferentes fabricantes.

JavaRa
(GPL, Windows)
Limpia instalaciones antiguas o corruptas de Java Runtime Environment (JRE).

JXplorer
(Licencia equivalente Apache 2, Unix / Linux, Mac OS X, Windows)
Cliente LDAP de consulta y edición.

martes, 20 de abril de 2010

Aplicaciones Indispensables: De uso habitual

En esta entrada iré recopilando y actualizando las aplicaciones para Windows, Mac OS X y Linux que me parecen indispensables en el uso habitual de un ordenador:

7-Zip
(LGPL, Windows)
Utilidad para la compresión/descompresión de ficheros. Muy rápido y efectivo.

Notepad++
(GPL, Windows)
Editor de texto multiproposito que nos permite visualizar y editar cualquier fichero de texto. Incluye sintaxis coloreada para los principales lenguajes de programación.

Cygwin
(GPL, Windows)
Proporciona un entorno con las herramientas de Unix/Linux dentor de Windows.

Ditto
(GPL, Windows)
Permite tener un portapapeles múltiple en Windows. Con él podremos tener un historial de los elementos que hemos copiado para pegarlos en cualquier momento.

VirtuaWin
(GPL, Windows)
Aplicación que permite organizar las aplicaciones abiertas por múltiples escritorios.

CCLeaner
(Free, Windows)
Permite limpiar los sistemas Windows para hacerlos más rápidos y seguros.

PDFCreator
(GPL, Windows)
Permite generar ficheros PDF desde cualquier programa que permita imprimir.

Process Explorer
(Free, Windows)
Proporciona información muy detallada de los procesos en ejecución. Por ejemplo, permite buscar que proceso tiene abierto un fichero o cargada una DLL. También permite ver los puertos de comunicaciones abiertos por cada proceso. Proporciona también información detallada de la línea de ejecución de cada proceso.

KeePassX
(GPL, Linux/Unix, Windows, MacOSX)
Permite mantener contraseñas y otra información confidencial en una única base de datos protegida con una única contraseña. Utiliza un formato de fichero que puede ser compartido con las versiones para Android o iPhone, con lo que puedes compartir el fichero de claves cómodamente, incluso con servicios como Dropbox.


viernes, 2 de abril de 2010

Media Center en Debian GNU / Linux



Este pequeño ordenador me permite ver la televisión, grabar de la televisión, reproducir música y vídeos en alta definición, navegar por Internet y jugar a juegos antiguos mediante emuladores como MAME.

El hardware que he usado es el siguiente:
  • Placa base ZOTAC ION ITX F Series de tamaño Mini-ITX
  • Fuente de alimentación Mini-ITX de 80W
  • Caja realizada partir de un pack de regalo de colonias :-)
  • Sintonizador AVerMedia AverTV DVB-T USB 2.0 (A800)

Y el software utilizado es el siguiente:
  • Debian GNU / Linux Squeeze
  • Freevo 1.8.1

Como se puede ver en la siguiente imagen la placa base viene muy completa:


Esta placa obtiene un rendimiento muy bueno teniendo un consumo de energía muy bajo. Además, permite reproducir vídeo en alta definición mediante su salida HDMI.

Anteriormente tuve montada una placa base Via Epia SP800. Esta placa es del 2006 y no tenía salida HDMI. En teoría podía reproducir vídeo en alta definición pero solo con los driver suministrados por Via que eran muy complejos de instalar.

En la siguiente imagen se puede ver el montaje interior del equipo desde la parte superior:


Estos son los pasos en la configuración realizada:

Primero debemos ejecutar el siguiente comando:
dpkg-reconfigure freevo
Y seleccionaremos las siguientes opciones:
Salida de video: x11 Resolución: 1920x1080 Estándar de TV: PAL Lista de canales: Europa (Oeste) Servicios que se ejecutaran: - Servidor de X - Servidor de grabación

A continuación se muestra el contenido de ciertos ficheros de configuración utilizados por Freevo para su correcto funcionamiento:

/etc/freevo/lircrc
begin prog = freevo remote = * button = 1 repeat = 0 config = 1 end begin prog = freevo remote = * button = 2 repeat = 0 config = 2 end begin prog = freevo remote = * button = 3 repeat = 0 config = 3 end begin prog = freevo remote = * button = 4 repeat = 0 config = 4 end begin prog = freevo remote = * button = 5 repeat = 0 config = 5 end begin prog = freevo remote = * button = 6 repeat = 0 config = 6 end begin prog = freevo remote = * button = 7 repeat = 0 config = 7 end begin prog = freevo remote = * button = 8 repeat = 0 config = 8 end begin prog = freevo remote = * button = 9 repeat = 0 config = 9 end begin prog = freevo remote = * button = 0 repeat = 0 config = 0 end begin prog = freevo remote = * button = DISPLAY repeat = 0 config = DISPLAY end begin prog = freevo remote = * button = CH_RTN repeat = 0 config = PREV_CH end begin prog = freevo remote = * button = SNAPSHOT repeat = 0 config = EXIT end begin prog = freevo remote = * button = CH_UP repeat = 0 config = CH+ end begin prog = freevo remote = * button = CH_DOWN repeat = 0 config = CH- end begin prog = freevo remote = * button = VOL_DOWN repeat = 0 config = VOL- end begin prog = freevo remote = * button = VOL_UP repeat = 0 config = VOL+ end begin prog = freevo remote = * button = MUTE repeat = 0 config = MUTE end begin prog = freevo remote = * button = PLAY repeat = 0 config = PLAY end begin prog = freevo remote = * button = STOP repeat = 0 config = STOP end begin prog = freevo remote = * button = PAUSE repeat = 0 config = PAUSE end begin prog = freevo remote = * button = RECORD repeat = 0 config = REC end begin prog = freevo remote = * button = RED repeat = 0 config = REW end begin prog = freevo remote = * button = YELLOW repeat = 0 config = FFWD end begin prog = freevo remote = * button = GREEN repeat = 0 config = CH- end begin prog = freevo remote = * button = BLUE repeat = 0 config = CH+ end begin prog = freevo remote = * button = MENU repeat = 0 config = MENU end

/etc/freevo/local_conf.py
# -*- coding: iso-8859-1 -*- CONFIG_VERSION = 5.27 # ====================================================================== LOCALE='iso-8859-15' # ====================================================================== EVENT_DEVS = ['/dev/ir'] EVENTS['menu']['2'] = Event('MENU_UP') EVENTS['menu']['8'] = Event('MENU_DOWN') EVENTS['menu']['4'] = Event('MENU_LEFT') EVENTS['menu']['6'] = Event('MENU_RIGHT') EVENTS['menu']['5'] = Event('MENU_SELECT') EVENTS['menu']['0'] = Event('MENU_SUBMENU') EVENTS['input']['2'] = Event('MENU_UP') EVENTS['input']['8'] = Event('MENU_DOWN') EVENTS['input']['4'] = Event('MENU_LEFT') EVENTS['input']['6'] = Event('MENU_RIGHT') EVENTS['input']['5'] = Event('MENU_SELECT') EVENTS['input']['0'] = Event('MENU_SUBMENU') EVENTS['tvmenu']['2'] = Event('MENU_UP') EVENTS['tvmenu']['8'] = Event('MENU_DOWN') EVENTS['tvmenu']['4'] = Event('MENU_LEFT') EVENTS['tvmenu']['6'] = Event('MENU_RIGHT') EVENTS['tvmenu']['5'] = Event('MENU_SELECT') EVENTS['tvmenu']['0'] = Event('MENU_SUBMENU') EVENTS['video']['1'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='sub_select') EVENTS['video']['3'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='switch_audio') EVENTS['video']['2'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='panscan +0.1') EVENTS['video']['8'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='panscan -0.1') EVENTS['video']['CH-'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek -600') EVENTS['video']['CH+'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek +600') EVENTS['dvd']['1'] = Event('VIDEO_NEXT_SUBTITLE') EVENTS['dvd']['3'] = Event('VIDEO_NEXT_AUDIOLANG') EVENTS['dvd']['2'] = Event('DVDNAV_UP') EVENTS['dvd']['8'] = Event('DVDNAV_DOWN') EVENTS['dvd']['4'] = Event('DVDNAV_LEFT') EVENTS['dvd']['6'] = Event('DVDNAV_RIGHT') EVENTS['dvd']['5'] = Event('DVDNAV_SELECT') EVENTS['dvd']['0'] = Event('DVDNAV_SELECT') EVENTS['audio']['CH+'] = Event('PLAYLIST_NEXT') EVENTS['audio']['CH-'] = Event('PLAYLIST_PREV') # ====================================================================== DIRECTORY_SORT_BY_DATE = 2 DIRECTORY_REVERSE_SORT = 0 DIRECTORY_SMART_SORT = 0 DIRECTORY_SMART_NAMES = 0 DIRECTORY_AUTOPLAY_SINGLE_ITEM = 0 DIRECTORY_FORCE_SKIN_LAYOUT = -1 DIRECTORY_AUDIO_FORMAT_STRING = '%(t)s' DIRECTORY_USE_MEDIAID_TAG_NAMES = 1 #DIRECTORY_AUTOPLAY_ITEMS = [] #DIRECTORY_ADD_RANDOM_PLAYLIST = [ 'audio' ] # ====================================================================== plugin.remove('shutdown') #SYS_SHUTDOWN_CONFIRM = 0 #SYS_SHUTDOWN_ENABLE = 1 #SYS_SHUTDOWN_CMD = "sudo shutdown -h now" #SYS_RESTART_CMD = "sudo shutdown -r now" # ====================================================================== VIDEO_PREFERED_PLAYER = 'mplayer' #VIDEO_ONLY_SCAN_DATADIR = 1 #VIDEO_SHOW_DATA_DIR = '/home/freevo/fxd' VIDEO_AUTOJOIN = 0 #VIDEO_DEINTERLACE = None #VIDEO_USE_XVMC = None #VIDEO_FIELD_DOMINANCE = None #VIDEO_PRE_PLAY = None #VIDEO_POST_PLAY = None # ====================================================================== GAMES_ITEMS = [ ('MAME', '/home/freevo/games/mame/roms', ('MAME', '/usr/games/xmame.x11', '-fullscreen', '/home/freevo/games/mame/shots', None)), ] # ====================================================================== VIDEO_MPLAYER_SUFFIX = [ 'avi', 'wmv', 'bin', 'rm', 'divx', 'ogm', 'vob', 'asf', 'm2v', 'm2p', 'mp4', 'viv', 'nuv', 'mov', 'iso', 'nsv', 'mkv', 'ogg', 'ts', 'flv', 'mpg', 'mpeg' ] MPLAYER_AO_DEV = 'alsa:device=hw=0.3' MPLAYER_VO_DEV = 'null' MPLAYER_VF_INTERLACED = '' MPLAYER_VF_PROGRESSIVE = '' DVD_LANG_PREF = 'es,en' DVD_SUBTITLE_PREF = '' MPLAYER_ARGS = { 'mkv' : '-vo vdpau -vc ffh264vdpau -cache 8192', 'mp4' : '-vo vdpau -vc ffh264vdpau -demuxer lavf -cache 32768', 'dvb' : '-vo vdpau -vc ffmpeg12vdpau,ffh264vdpau -nocache', 'ts' : '-vo vdpau:deint=2 -vc ffmpeg12vdpau,ffh264vdpau -cache 8192', 'mpg' : '-vo vdpau:deint=2 -vc ffmpeg12vdpau -cache 8192', 'mpeg' : '-vo vdpau:deint=2 -vc ffmpeg12vdpau -cache 8192', 'wmv' : '-vo vdpau -vc ffwmv3vdpau -cache 8192', 'default' : '-vo vdpau -cache 4096', } # ====================================================================== VIDEO_XINE_SUFFIX = [ 'iso', ] XINE_AO_DEV = 'alsa' XINE_VO_DEV = 'vdpau' XINE_COMMAND = '%s -D --auto-play=fq --hide-gui --borderless --geometry %sx%s+0+0 --no-splash' % (CONF.xine, CONF.width, CONF.height) XINE_ARGS_DEF = "--no-lirc" XINE_HAS_NO_LIRC = True XINE_BOOKMARK = False # ====================================================================== TV_CHANNELS = [ ( '01', 'La 1', 'La 1(RTVE)' ), ( '02', 'La 2', 'La 2(RTVE)' ), ( '03', 'ANTENA 3', 'ANTENA 3(ANTENA3 TELEVISION)' ), ( '04', 'CUATRO', 'CUATRO(SOGECABLE)' ), ( '05', 'Telecinco', 'Telecinco(TELECINCO)' ), ( '06', 'laSexta', 'laSexta(La Sexta)' ), ( '07', 'Telemadrid', 'Telemadrid(RTVM)' ), ( '08', 'MTV', 'MTV(MTV)' ), ( '09', 'Kiss TV', 'Kiss TV(Teledifusion Madrid)' ), ( '10', 'Antena 3 HD', 'Antena 3 HD(Antena3)' ), ( '11', 'Tele 5 HD', 'Telecinco HD(Tele5)' ), ( '12', 'Telemadrid HD', 'Telemadrid HD(RTVM)' ), ( '13', 'TVE HD', 'TVE-HD Pruebas(RTVE)' ), ] # ====================================================================== TV_RECORD_DUPLICATE_DETECTION = False TV_RECORD_ONLY_NEW_DETECTION = False TV_RECORD_REMOVE_COMMERCIALS = False #TV_RECORD_CONFLICT_RESOLUTION = False TV_REENCODE = False TV_REENCODE_REMOVE_SOURCE = False TV_DATE_FORMAT = '%e-%b' # Day-Month: 11-Jun TV_TIME_FORMAT = '%H:%M' # Hour-Minute 14:05 TV_DATETIME_FORMAT = '%A - %d %b %H:%M' # Thursday - 24 September 14:54 TV_RECORD_FILE_SUFFIX = '.ts' TV_RECORD_FILE_MASK = '%%y%%m%%d %%H%%M %(progname)s - %(title)s' RECORDSERVER_IP = 'localhost' RECORDSERVER_PORT = 18001 RECORDSERVER_SECRET = 'secret1' RECORDSERVER_UID = 0 RECORDSERVER_UID = 0 TV_RECORD_PADDING_PRE = 0 TV_RECORD_PADDING_POST = 0 TV_RECORD_FAVORITE_MARGIN = 0 RECORDSERVER_CLEANUP_THRESHOLD = 0 VCR_PRE_REC = None VCR_POST_REC = None VCR_CMD = CONF.mplayer + ' -dumpstream -dumpfile %(filename)s "dvb://%(channel)s"' # ====================================================================== #plugin.remove('tv.mplayer') #plugin.activate('tv.xine') TV_VIDEO_GROUPS = [ VideoGroup(vdev='/dev/dvb/adapter0', adev=None, input_type='tuner', input_num=1, group_type='dvb', record_group=None, desc='DVB Viewer'), ] # ====================================================================== ##plugin.remove('tv.mplayer') ##plugin.activate('tv.livepause') ##TV_VIDEO_GROUPS = [ ## VideoGroup(vdev='0', ## group_type='dvb', ## desc='Watching Video Group', ## ), ##] ##LIVE_PAUSE2_BUFFER_SIZE = 2048 ##LIVE_PAUSE2_BUFFER_PATH = '/home/freevo/live.buf' ##LIVE_PAUSE2_PREFERRED_PLAYER='xine' # ====================================================================== ##plugin.remove('tv.mplayer') ##plugin.remove('tv.generic_record') ##plugin.activate('tv.dvbstreamer.live_pause') ##plugin_record = plugin.activate('tv.dvbstreamer.record') ##TV_VIDEO_GROUPS = [ ## VideoGroup(vdev='0', ## group_type='dvb', ## desc='Watching Video Group', ## record_group=None ## ), ##] ##LIVE_PAUSE_BUFFER_SIZE=(6.25, 30 * 60) ##LIVE_PAUSE_BUFFER_PATH='/home/freevo/live.buf' ##DVBSTREAMER_USERNAME='dvbstreamer' ##DVBSTREAMER_PASSWORD='control' # ====================================================================== #XMLTV_FILE = '/home/freevo/TV.xml' ##XMLTV_GRABBER = '' ##XMLTV_SORT = '' ##XMLTV_DAYS = 3 #XMLTV_TIMEZONE='+0200' # ====================================================================== ##plugin.activate('idlebar.system.procstats', level=30, args=(-1, 1, 1)) ##plugin.activate('idlebar.system.sensors', level=20, args=(('temp1', '((@ * 10) - 73.869) / 0.9528'), 'temp2', None)) ##SENSORS_PLATFORM_PATH='/sys/devices/platform' ##SENSORS_I2CDEV_PATH='/sys/bus/i2c/devices' # ====================================================================== plugin.activate('oneclick', level=45) ONECLICK_LOCATIONS = [ ("SPXX0050", True, None, "Madrid, Spain"), ] # ====================================================================== HEADLINES_LOCATIONS = [ ('Meneame', 'http://www.meneame.net/rss2.php'), ('Barrapunto', 'http://barrapunto.com/index.rss'), ] # ====================================================================== plugin.activate('video.rtve') plugin.activate('video.appletrailers') # ====================================================================== #SCREENSAVER_DELAY = 120 #SCREENSAVER_CYCLE_TIME = 60 #plugin.activate('screensaver') #plugin.activate('screensaver.flames') #plugin.activate('screensaver.life') #plugin.activate('screensaver.balls') #plugin.activate('screensaver.bouncing_freevo') # ====================================================================== #plugin.activate('command', level=45) #COMMANDS_DIR='/home/freevo/commands' # ====================================================================== COMMAND_SPAWN_WM='/usr/bin/wmaker &' COMMAND_KILL_WM='/usr/bin/killall WindowMaker' plugin.activate('command.CommandMainMenuItem', args=('/etc/freevo/Firefox.fxd', ), level=45) # ====================================================================== #DEBUG = 1 #LOGGING = logging.DEBUG #DEBUG_CHILDAPP = 1 #LOGGING_RECORDSERVER = logging.DEBUG #DEBUG_RECORDSERVER = 1 # ======================================================================

/etc/freevo/Firefox.fxd
<?xml version="1.0" ?>
<freevo>
    <command title="Internet">
        <cmd>/usr/bin/firefox</cmd>
        <stoposd />
        <spawnwm />
        <info>
            <content>Firefox execution</content>
        </info>
    </command>
</freevo>

/home/freevo/.mplayer/channels.conf
/home/freevo/.xine/channels.conf
CANAL 7 TV :586000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:128:144:1 TEST 1 :586000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:129:145:2 TEST 2 :586000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:130:146:3 TEST 3 :586000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:131:147:4 8madrid(Teledifusion Madrid):618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:256:257:3901 Popular TV MADRID(Teledifusion Madrid):618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:512:513:3902 INTERECONOMIA BUSINESS(Teledifusion Madrid):618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:768:769:3903 Kiss TV(Teledifusion Madrid):618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1025:1024:3904 COPE(Teledifusion Madrid):618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1281:3905 CADENA 100(Teledifusion Madrid):618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1536:3906 ASTROCANAL(Teledifusion Madrid):618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1792:1793:3907 Aprende Ingles TV(Teledifusion Madrid):706000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:256:257:5001 Libertad Digital TV(Teledifusion Madrid):706000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:512:513:5002 Ver-T(Teledifusion Madrid):706000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:768:769:5003 Sin servico(Teledifusion Madrid):706000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1025:1024:5004 Butaca Latina(Teledifusion Madrid):706000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1280:1281:5005 NEW MILLENIUM(Teledifusion Madrid):706000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1536:1537:5006 NITRO(ANTENA3):698000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:101:103:147 Antena 3 HD(Antena3):698000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:501+500:503:148 MARCA TV(Imagina):698000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1003:263 13 TV:698000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1501:1503:264 TVE-HD Pruebas(RTVE):746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001+1000:1100:40001 Teledeporte(RTVE):746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2001:2002:40002 Radio Clásica(RTVE):746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:2010:40005 Radio 3(RTVE):746000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:3010:40006 La 1(RTVE):770000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:101:103:530 La 2(RTVE):770000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:201:203:531 24h(RTVE):770000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1003:532 Clan(RTVE):770000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1501:1503:533 RNE1(RTVE):770000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:2001:535 RNEC(RTVE):770000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:2011:536 RNE3(RTVE):770000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:2021:537 Boing(Tele5):778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:101:103:184 Telecinco HD(Tele5):778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:501+500:503:185 MTV(MTV):778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1003:304 La 10(La 10):778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1501:1503:305 Punto Radio(Punto Radio):778000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1601:306 Telemadrid(RTVM):810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:111:115:421 LA OTRA(RTVM):810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:211:212:422 Metropolitan TV(Vocento):810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:311:312:423 Telemadrid HD(RTVM):810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:611+610:612:425 ONDA MADRID(RTVM):810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:511:10068 Teledeporte(RTVE):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:101:103:100 VEO7(VEO TELEVISION):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1002:260 AXN(AXN):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1401:1402:261 Tienda en VEO(VEO TELEVISION):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1601:1602:262 RADIO MARCA(VEO TELEVISION):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1951:271 Vaughan Radio(Vaughan Radio):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1966:273 Intereconomía(INTERECONOMIA):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:201:202:300 esRadio(esRadio):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:3501:302 Radio Intereconomía(INTERECONOMIA):834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:3001:303 laSexta(La Sexta):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1501:1503:340 CUATRO(SOGECABLE):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:160:80:1057 CNN+(SOGECABLE):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:161:84:1058 CANAL+ Dos(SOGECABLE):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:162:88:1059 CANAL CLUB(SOGECABLE):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:163:92:1060 SER(SOGECABLE):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:262:1061 40 PRINCIPALES(SOGECABLE):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:260:1062 CADENA DIAL(SOGECABLE):842000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:256:1063 Telecinco(TELECINCO):850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:203:303:180 FDF(TELECINCO):850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:201:301:181 LaSiete(TELECINCO):850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:202:302:182 Disney Channel(Disney Channel):850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1501:1502:301 ANTENA 3(ANTENA3 TELEVISION):858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:301:303:140 NEOX(ANTENA3 TELEVISION):858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:501:503:141 NOVA(ANTENA3 TELEVISION):858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1003:142 ONDA CERO(ANTENA3 TELEVISION):858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:351:144 EUROPA FM(ANTENA3 TELEVISION):858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:551:145 ONDA MELODÍA(ANTENA3 TELEVISION):858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1051:146 GOL TELEVISIÓN(LA SEXTA):858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1501:1503:341

/home/freevo/.gtkrc-2.0
gtk-font-name = "Lucida Sans 40"

/home/freevo/.asoundrc
pcm.!default {
    type hw
    card 0
    device 3
}
ctl.!default {
    type hw
    card 0
    device 3
}

/home/freevo/.xsession
xset s noblank xset s off xset -dpms # ---- language-env DON'T MODIFY THIS LINE! # set LANG LANG=es_ES@euro export LANG if [ -x "$WINDOW_MANAGER" ]; then realstartup=$WINDOW_MANAGER elif [ -x /usr/bin/x-session-manager ]; then realstartup=x-session-manager elif [ -x /usr/bin/x-window-manager ]; then realstartup=x-window-manager elif [ -x /usr/bin/x-terminal-emulator ]; then realstartup=x-terminal-emulator fi exec $realstartup # ---- language-env end DON'T MODIFY THIS LINE!

/etc/X11/xorg.conf
Section "ServerLayout" Identifier "Layout0" Screen "Screen0" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "ServerFlags" Option "NoPM" "true" EndSection Section "Extensions" Option "Composite" "Disabled" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" Identifier "Monitor0" Option "DPMS" "false" Option "DPI" "96x96" EndSection Section "Device" Identifier "Device0" Driver "nvidia" Option "TripleBuffer" "True" Option "UseEdidDpi" "False" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 EndSubSection EndSection

domingo, 6 de diciembre de 2009

Restaurando GRUB 2 en Debian GNU / Linux

Hay veces en el que el gestor de arranque GRUB se puede estropear. Por ejemplo, al instalar otro sistema operativo.

Para recuperarlo, debemos arrancar con un CD de instalación de Debian en modo "rescue". Una vez configurado el idioma del teclado, abrimos otra consola con "Alt-F2" y ejecutamos los siguientes comandos:

mount /dev/sda3 /mnt mount -t proc /proc /mnt/proc mount --bind /dev /mnt/dev chroot /mnt/ grub-install /dev/sda

De esta forma, hemos recuperado el sector de arranque en "/dev/sda", teniendo la instalación de Debian en la partición "/dev/sda3".

domingo, 4 de octubre de 2009

Configuración de un servidor SSH en Debian GNU / Linux

En este artículo vamos a ver una serie de recomendaciones para tener un servidor SSH lo más seguro posible.

Los pasos de la configuración son los siguientes:

1. Instalación
2. Uso de pares de claves
3. Cambiar el puerto por defecto

A continuación se detallan cada uno de estos pasos:

1. Instalación

Para la instalación únicamente debemos ejecutar el siguiente comando:

aptitude install ssh

2. Uso de pares de claves

Configurando el servidor SSH para que solo se pueda acceder mediante pares de claves SSH se obtiene un gran beneficio. Por un lado, se obtiene mayor seguridad, ya que para el acceso a la máquina se debe disponer de una clave privada cuya clave publica este dada de alta en el servidor. Y por otro lado, es posible configurar que la clave privada de acceso esté guardada sin contraseña, de forma que se pueda acceder directamente al servidor sin que se solicite ningún tipo de contraseña. Esto puede ser útil, por ejemplo, para scripts de tareas automatizadas.

El primer paso será generar un par de claves SSH y configurar el servidor para que se pueda acceder con ellas.

Generamos el par de claves en el cliente de la siguiente forma:

ssh-keygen -t dsa -C "USERNAME@DOMAIN"

En el comando anterior podemos sustituir USERNAME por el nombre del usuario y DOMAIN por el dominio que queramos.

Durante la creación nos solicitará una contraseña que será la que proteja la clave privada generada. Si se considera que la cuenta del usuario está en un entorno fiable podemos omitirla y acceder al servidor SSH automáticamente sin contraseña.

Para permitir que ese cliente se conecte con las claves generadas a un usuario del servidor, debemos crear un fichero "$HOME/.ssh/authorized_keys" que contenga la información de la clave pública que hemos generado. Por defecto, la clave pública se genera en un fichero "$HOME/.ssh/id_dsa.pub". En el fichero "authorized_keys" se podrán meter todas las claves públicas que se desee y cada una deberá estar en una línea.

Es muy importante el tema de permisos en estos ficheros. Únicamente deberán poder ser accesibles por el usuario de la cuenta en la que esté contenido cada fichero.

Por último, si queremos que únicamente se permita el acceso a la máquina mediante pares de claves y no se permita acceder mediante usuario y contraseña, debemos configurar en el fichero "/etc/ssh/sshd_config" el valor de la variable "PasswordAuthentication" a "no" y reiniciar el servidor de SSH.

Si un usuario tiene varias claves, puede seleccionar la clave que quiere usar con el parámetro "-i" del comando ssh.

También es interesante impedir que se pueda acceder directamente con el usuario root. Para ello, debemos configurar en el fichero "/etc/ssh/sshd_config" el valor de la variable "PermitRootLogin" a "no" y reiniciar el servidor de SSH.

3. Cambiar el puerto por defecto

Cambiando el puerto por defecto del servicio SSH se consigue burlar ciertos escaneres de puertos. Para ello editamos el fichero "/etc/ssh/sshd_config" y cambiamos el parámetro "Port".

Al cambiar el puerto, para acceder al servicio debemos indicar un parámetro adicional. Por ejemplo, si cambiamos el servicio al puerto 1234 usaríamos el siguiente comando:

ssh -p 1234 user@hostname

domingo, 13 de septiembre de 2009

Reparar BIOS corrupta de ordenador

Hace algún tiempo, actualizando la BIOS del ordenador se produjo algún problema y quedó corrupta. El ordenador no arrancaba.
Trás el susto y pensar que me tocaba comprar otra placa base, descubrí en Internet que si la BIOS es enchufable, osea, que no va soldada a la placa base sino que tiene un conector, se puede reprogramar con un programador. Estos programadores los suelen tener en las tiendas de electrónica y, por un módico precio, te programan todo tipo de chips.

Por lo que cogí el chip de la BIOS y un disquete, con el programa a cargar en la BIOS, y por unos 4 euros me reparon la BIOS en una tienda de electrónica de Madrid llamada Conectrol.

En Madrid hay varias tiendas de electrónica que seguro que dan este servicio. Son estas:

Conectrol
Diotronic
Actrón