viernes, 19 de abril de 2013

Compartir impresora de Linux a Windows

Hola amigos blogueros,

Una ves más escribiendo un mini manual que espero les sea de utilidad.

¿ Cuál es el problema ?

Tengo en una computadora con OpenSuse 11.2 que tiene instalada una impresora y necesito que un par de computadoras con Windows 7 puedan hacer uso de la misma.

Es muy importante decirles que este manual fue probado con las siguientes versiones de paquetes:


samba-client-3.4.3-3.8.1.x86_64
samba-3.4.3-3.8.1.x86_64

Lo recalco porque con los paquetes que vienen en la distro por default nunca me pude conectar.

Si se están preguntando, ¿ Cómo se que versión de paquetes tengo ?
El comando es el siguiente:

rpm -qa | grep samba*

Ahora si, manos a la obra.


1.- Agregamos un usuario con el comando:

useradd -M -c "Usuario para imprimir desde Win" -s /sbin/nologin smbprint

2.- Eliminamos la clave del usuario creado:

passwd -d smbprint

3.- Editamos el archivo: smb.conf

vi /etc/samba/smb.conf

4.- Dentro de ese archivo verificamos que estén las siguientes líneas des-comentadas y si no están deben de agregarlas.

[global]

  printcap name = cups  
  printing = cups   
  security = share


[printers]   
  path = /var/tmp
  browseable = yes   
  printable = yes   
  public = yes   
  create mode = 0600   
  guest ok = yes   
  guest account = smbprint   


5.- Reiniciamos el samba:

/etc/init.d/smb restart


6.- Editamos el archivo: cups.conf

vi /etc/cups/cupsd.conf

7.- Agregamos la siguiente línea:

Listen 192.168.1.0:631

Ustedes deberán reemplazar con la dirección de red que estén usando.

8.- En el parámetro Location escribimos las siguientes líneas:

<Location />
  Allow 192.168.1.0
  Allow @IF(eth0)
  Allow 127.0.0.2
  Allow all
  Order allow, deny
</Location>

El parámetro Location ya debe de existir dentro del archivo de configuración, por lo que deben de reemplazar lo que está escrito adentro con lo que especifico arriba.

La variable eth0 deben de reemplazarla con la interfaz por donde se conecta a la red el equipo.

9.- Reiniciamos el cups:

/etc/init.d/cups restart

10.- Deben de instalar el driver de la impresora en la máquina Windows.

11.- Una ves que hemos realizado todos los pasos anteriores ya podemos buscar la máquina Linux desde Windows en mis sitios de red o en ejecutar \\192.168.1.X y veremos que aparece la impresora compartida.

Espero les sea de utilidad ahora, en un futuro o solo si lo quieren hacer por curiosidad.

Re-editado 04-Julio-2013

Les comento que a pesar de estar funcionando el procedimiento anterior, existía ocasiones en que los documentos no se imprimían, la verdad no me puse a identificar cuales no y cuales si, mas bien me necesitaba en buscar una solución y rápido.

Manos a la obra.

Luego de ver los logs me encontré con esta línea en el error_log del cups:

CUPS: client-error-document-format-not-supported

Googleando encontré este foro de fedora que me fue de gran ayuda: 

http://forums.fedoraforum.org/archive/index.php/t-180014.html

Básicamente la solución es descomentar una línea que está al final del archivo mime.convs.

Pasos:

En la máquina "servidor" donde está conectada la impresora accedemos a la carpeta del cups.
  • # cd /etc/cups
Editamos el archivo en cuestión.
  • # vi mime.convs
Buscamos la línea que está casi al final, en este caso el # no es para denotar la línea de comando sino que muestra que la línea está comentada dentro del archivo. 

  • # application/octet-stream      application/vnd.cups-raw        0       -
Lo único que hay que hacer es descomentar esa línea.
Guardamos el archivo.
Y por último reiniciamos el cups.

¿ Porque pasó este error ?

Al parecer cups no "entendía" algunos datos cuando se enviaba el documento y asumía que estaba corrupto, por eso no imprimía.

Si alguno de mis lectores nos comparte alguna explicación técnica de porque este error o porque esta solución se lo agradecería muchísimo.

Cualquier duda o comentario lo dejan por este medio o me envían un tweet a @Danny_Obando.

Hasta mi próximo post.

martes, 9 de abril de 2013

Instalar Internet Explorer en OpenSuse 11.2

Hola amigos blogueros,

En esta ocasión quiero compartirles un manual de como instalar el Internet Explorer en OpenSuse 11.2.

Si se están preguntando ¿ Porque necesito instalar ese browser en Linux ? La respuesta es simple, hay algunos diseñadores web que piensan que solo existe ese browser y no se molestan en comprobar que en otros navegadores su/sus aplicaciones funcionen correctamente.

Pero bueno mi intención no es quejarme, mas vale les doy la solución.

Paso 1: Añadimos el repositorio de Wine

http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_11.2/

¿ Como lo añado ?

Añadir repositorio bajo consola

Lo hacemos con el comando:

zypper ar -f http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_11.2/ Emuladores

Si desean conocer más comodines del zypper en la consola escriban: zypper help o el infaltable: man zypper

Añadir repositorio en modo gráfico (KDE)

Vamos al boton Inicio --> Máquina --> Yast


Luego de ingresar el password de root, en la ventana que aparece nos dirigimos a: Software --> Repositorios de Software


Nos aparece la siguiente ventana:


Seleccionamos añadir y luego la opción HTTP:


Ingresamos nombre de repositorio, nombre del servidor y directorio del servidor y luego Siguiente:

Nombre del repositorio: Emulador
Nombre del servidor: download.opensuse.org
Directorio en el servidor: /repositories/Emulators:/Wine/openSUSE_11.2/


Nos regresa a la ventana de Repositorios de aplicaciones configurados y damos Aceptar.


Importamos la clave y con eso hemos añadido el repositorio.


Paso 2: Instalamos el paquete cabextract 

Lo hacemos con el comando: yast2 -i cabextract


Paso 3: Instalamos el paquete wine

Lo instalamos con el siguiente comando:

YaST2 -i wine

El comando anterior no solo instala el paquete del wine, sino también las dependencias necesarias.


En mi caso no me ha funcionado con la última versión del wine que se instala (wine-1.5.27-230.1.i586),  por lo que yo la desinstalo y procedo a instalar la siguiente versión:

wine-0.9.57-3.8.i586.rpm

Para ver que versión del wine tengo instalado es con el siguiente comando:

rpm -qa | grep wine

En mi caso estos son los paquetes que me instaló:
  • wine-mono-0.0.8-1.1.noarch
  • wine-1.5.27-230.1.i586
  • wine-mp3-1.1.39-12.2.i586
  • wine-gecko-1.9-35.1.noarch

Vamos a desinstalar el wine-mp3 y el wine con el siguiente comando:

rpm -e wine-mp3-1.1.39-12.2.i586 wine-1.5.27-230.1.i586

Ustedes ponen la versión que se les haya instalado en su equipo.

Nota: Se que algunos me dirán ¿ Pero para que lo instala si lo va a volver a desinstalar ? La respuesta es simple, me ahorra el instalar todas las dependencias.

Nos toca buscar el wine que funciona, personalmente siempre busco paquetes en dos páginas:
En rpmfind encontré el paquete especificado:


Los descargan y luego lo instalan en el equipo con el comando: 

rpm -ivh wine-0.9.57-3.8.i586.rpm

Paso 4: Descargamos e instalamos el ies4linux

Nota: No hacer los siguientes pasos como root, haganlo como usario normal del sistema (el usuario que la va a usar).

Lo descargamos directamente desde la pc del usuario con el comando:



Descomprimimos el paquete:

tar zxvf ies4linux-latest.tar.gz

Ingresamos a la carpeta:

cd ies4linux-*

Ejecutamos el instalador, NO hacerlo como root:

./ies4linux


Damos OK.


Una ves finalizada la instalación y si no hubo ningún error debe de aparecer la siguiente ventana:


Damos clic en Close/Cerrar.

En mi caso que tengo el OpenSuse en Español tengo que copiar el acceso directo que se creó al instalar el ie4Linux en la carpeta Desktop:

cp /home/usuario/Desktop/ies4linux-ie6.desktop /home/usuario/Escritorio/

Ejecutando ese comando nos debe de aparecer en el escritorio el icono del internet Explorer:


Le damos un clic y tenemos instalado el Internet Explorer en Opensuse.


Recomendaciones


Una ves que lo instalé y el/los usuarios comenzaron a usarlo me llamó la atención ver que cuando estaba en ejecución consumía prácticamente todos los recursos del sistema y lo peor de todo es que una ves cerrada la aplicación los recursos no disminuyen, por lo que les recomiendo dos cosas:

  1. Advertir al usuario que requiere del internet explorer que solo lo use cuando sea estrictamente necesario.
  2. Deben de cerrar todos los procesos del wine manualmente.

Script para cerrar procesos del Wine


Obviamente no es nada cómodo andar cerrando los procesos uno a uno cada ves que se usa el Internet Explorer, por lo que cree un script para ejecutarlo una ves que cerremos el browser.

Creamos el script dentro del escritorio del usuario:

cd /home/usuario/Escritorio
vi cerrar_explorer.sh

El contenido del archivo es:


ps -ef | grep "windows" | grep -v "grep" | awk '{print $2}' | xargs kill -9
ps -ef | grep "ie6" | grep -v "grep" | awk '{print $2}' | xargs kill -9
ps -ef | grep "wine" | grep -v "grep" | awk '{print $2}' | xargs kill -9


Damos permiso de ejecución al archivo creado:

chmod 755 cerrar_explorer.sh

Con esto ya nos debe de aparecer en el escritorio el icono:


Lo ejecutamos y se van a dar cuenta que el sistema operativo vuelve a su consumo normal de recursos.

He tratado de ser lo más explicito posible, quizás para algunos de mis amigos blogueros les va a parecer demasiado extenso o tedioso este manual, pero traté de hacerlo pensando en personas con muy poca experiencia manejando Linux.

Espero les sea de utilidad ahora o en cualquier momento o si quizás solo lo quieran instalar por curiosidad.

Hasta mi próximo post y no se olviden de dejar sus comentarios o enviarme un tweet a: @Danny_Obando





miércoles, 3 de abril de 2013

Eliminar clave de registro en Windows 7

Hola de nuevo amigos blogueros, 

Les comento que hoy necesité borrar una clave de registro en Windows y me pase un par de horas buscando una solución definitiva por lo que se las comparto para que vean si es de utilidad para ustedes ahora o en cualquier momento.

Antes de seguir debo de recomendarles que hagan un respaldo de su registro de windows y recordarles que es de su entera responsabilidad la manipulación del mismo.

La entrada de registro a borrar es:

HKEY_CURRENT_USER\Software\asd123\prueba

La sintaxis del comando es: 

REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

Desde el cmd pueden poner reg delete /? para ver la ayuda completa.

El comando a ejecutar es:

REG DELETE HKCU\Software\asd123 /v prueba /f

Noten lo siguiente:
  • El nombre HKEY_CURRENT_USER fue cambiado por: HKCU.
  • El valor a borrar prueba va separado del nombre del contenedor asd123.

Las abreviaciones para las claves de registro son:

HKEY_LOCAL_MACHINE --> HKLM
HKEY_CURRENT_CONFIG --> HKCC 
HKEY_CLASSES_ROOT --> HKCR
HKEY_CURRENT_USER --> HKCU
HKEY_USERS --> HKU


Si en algún momento necesitan solo visualizar el valor de la clave de registro pueden hacer con:

REG QUERY HKCU\Software\asd123 /v prueba

Eso les muestra el valor de la clave.

Pasos por si desean crear un script:
  1. Abrir el notepad.
  2. Escribir la linea para borrar o visualizar arriba especificadas.
  3. Nos vamos a la opción de Grabar como.
  4. En la ventana que se abre en la parte de abajo dice Tipo, seleccionamos Todos los archivos.
  5. En nombre le ponemos el que les parezca seguido del .bat al final y lo grabamos.

Espero les sea de utilidad y les ahorre un poco de tiempo esta solución.

Cualquier duda o comentario no duden en enviarme un tweet a @danny_obando.

Hasta mi próximo post.