Linux: Reactivar Control+ALT+Retroceso para reiniciar servidor X en Linux

Por si no sabias, puedes reiniciar tu servidor X presionando las teclas “Ctrl+Alt+Retroceso”, de que sirve, pues cuando esta trabado todo todo, al reiniciar el servidor X puedes casi siempre volver a la normalidad y volver a iniciar sesión.

Ahora, si por alguna razón no funciona esta combinación de teclas (en las ultimas versiones de Ubuntu por ejemplo, no sirve), aquí esta la forma de volver a activar esta opción.

En la terminal escribir:

sudo dpkg-reconfigure keyboard-configuration

Te van a aparecer muchas opciones, puedes ignorar todas.., excepto cuando llegue a la parte que te dice:

Por omisión la combinación Control+Alt+Retroceso no hace nada. Si lo desea, puede utilizarse para terminar el servidor X.

¿Desea utilizar Control+Alt+Retroceso para terminar el servidor X?

Despúes, activar la opción de SI, y listo!…, a probar el comando (todo lo que tengas abierto se cerrara en automático)

En sublime text 3 no puedo escribir acentos

He instalado Sublime text en linux (ubuntu 14.10) y no me permite escribir palabras acentuadas, siempre agrega la apostrofe al inicio de la palabra y no arriba de ella: Como por ejemplo: Jos´e.

La solución es modificar la configuración “Key Bindings” del SublimeText., para eso entramos a:

Preferences > Key Bindings – Users

Y pegamos el siguiente texto en el archivo de configuración, guardar y listo!!!!.

[
// missing accented characters fix for ubuntu 14.10

// a, [á, å, ä]
{ “keys”: [“´”,”a”], “command”: “insert”, “args”: {“characters”: “á”}},
{ “keys”: [“°”,”a”], “command”: “insert”, “args”: {“characters”: “å”}},
{ “keys”: [“¨”,”a”], “command”: “insert”, “args”: {“characters”: “ä”}},

// A, [Á, Å, Ä]
{ “keys”: [“´”,”A”], “command”: “insert”, “args”: {“characters”: “Á”}},
{ “keys”: [“°”,”A”], “command”: “insert”, “args”: {“characters”: “Å”}},
{ “keys”: [“¨”,”A”], “command”: “insert”, “args”: {“characters”: “Ä”}},

// e, [é, ë]
{ “keys”: [“´”,”e”], “command”: “insert”, “args”: {“characters”: “é”}},
{ “keys”: [“¨”,”e”], “command”: “insert”, “args”: {“characters”: “ë”}},

// E, [É, Ë]
{ “keys”: [“´”,”E”], “command”: “insert”, “args”: {“characters”: “É”}},
{ “keys”: [“¨”,”E”], “command”: “insert”, “args”: {“characters”: “Ë”}},

// i, [í, ï]
{ “keys”: [“´”,”i”], “command”: “insert”, “args”: {“characters”: “í”}},
{ “keys”: [“¨”,”i”], “command”: “insert”, “args”: {“characters”: “ï”}},

// I, [Í, Ï]
{ “keys”: [“´”,”I”], “command”: “insert”, “args”: {“characters”: “Í”}},
{ “keys”: [“¨”,”I”], “command”: “insert”, “args”: {“characters”: “Ï”}},

// o, [ó, ö]
{ “keys”: [“´”,”o”], “command”: “insert”, “args”: {“characters”: “ó”}},
{ “keys”: [“¨”,”o”], “command”: “insert”, “args”: {“characters”: “ö”}},

// O, [Ó, Ö]
{ “keys”: [“´”,”O”], “command”: “insert”, “args”: {“characters”: “Ó”}},
{ “keys”: [“¨”,”O”], “command”: “insert”, “args”: {“characters”: “Ö”}},

// u, [ú, ů, ü]
{ “keys”: [“´”,”u”], “command”: “insert”, “args”: {“characters”: “ú”}},
{ “keys”: [“°”,”u”], “command”: “insert”, “args”: {“characters”: “ů”}},
{ “keys”: [“¨”,”u”], “command”: “insert”, “args”: {“characters”: “ü”}},

// U, [Ú, Ů, Ü]
{ “keys”: [“´”,”U”], “command”: “insert”, “args”: {“characters”: “Ú”}},
{ “keys”: [“°”,”U”], “command”: “insert”, “args”: {“characters”: “Ů”}},
{ “keys”: [“¨”,”U”], “command”: “insert”, “args”: {“characters”: “Ü”}},

// y, [ý, ÿ]
{ “keys”: [“´”,”y”], “command”: “insert”, “args”: {“characters”: “ý”}},
{ “keys”: [“¨”,”y”], “command”: “insert”, “args”: {“characters”: “ÿ”}},

// Y, [Ý, Ÿ]
{ “keys”: [“´”,”Y”], “command”: “insert”, “args”: {“characters”: “Ý”}},
{ “keys”: [“¨”,”Y”], “command”: “insert”, “args”: {“characters”: “Ÿ”}}
]

Lo que hace esta configuración es detectar el apostrofe + la letra y convertirla a la letra con acento.

WordPress: Como actualizar wordpress y plugins sin necesidad de contar con FTP o SFTP

Si en tu servidor web donde tienes instalado worpress no cuentas con una conexión FTP o no la quieres agregar en la configuración de wordpress, pero al momento de quere actualizar cualquier plugin o versión de wordpress te solicita información de tu conexión FTP y te marca el error:

Ha sido imposible conectar con el servidor FTP localhost:21

Existe una solución para que todo este proceso lo haga directamente en los archivos de wordpress, solo se necesita agregar la siguiente linea en el archivo de configuración wp-config.php , lo pueden agregar hasta el final del archivo.

define(‘FS_METHOD’,’direct’);

Y listo!, cuando actualicen, ya no solicitará información de la conexión

rkhunter: Warnings y más warnings

Estoy escaneando en busca de troyanos y rootkit mi servidor Debian con la aplicación rkhunter, y en el log veo que tengo diferentes warnings en archivos del sistema como por ejemplo:

/usr/sbin/adduser [ Warning ]
/usr/bin/lwp-request [ Warning ]
/bin/which [ Warning ]

Y por ejemplo el adduser el warning indicaba que apuntaba a un archivo de perl , entonces para no ponerme paranoico investigue sobre lo sucedido y veo que falta agregar un parametro en el archivo de configuración de rkhunter: /etc/rkhunter.conf, como estoy utilizando debian (ubuntu) falta agregar esta línea:

PKGMGR=DPKG

Eso indica que las validaciones se harán con dpkg y entonces vualaa! ya no más warnings en estos archivos.

Sudo no funciona, error en el archivo sudoers

Al querer ingresar como root con el comando sudo me marca un error de que la sintaxis es incorrecta en el archivo sudoers, y probando con su root no deja entrar entonces, ¿como puedo tener acceso como root?

[email protected]:/home$ sudo su –
sudo: >>> /etc/sudoers: syntax error near line 22 < << sudo: parse error in /etc/sudoers near line 22 sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin

[email protected]:/home$ su –
Password:
su: Authentication failure

1.- Tener acceso fisico y arrancar el GRUB y montar la partición como un solo usuario y despues poder modificar el archivo sudoers, en mi caso no tengo acceso fisico ni forma de ver el GRUB remotamente.

2.- Utilizar este truco, con este comando: pkexec visudo y poner la clave de root

[email protected]:~$ pkexec visudo
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/sbin/visudo’ as the super user
Authenticating as: ubuntu-prueba,,, (usuario)
Password:

Y vualaaaa!, aparece el archivo de configuración, buscamos la línea 22 y vemos la error de sintaxis, lo arreglamos y listo 🙂

Al actualizar de Windows 8 a Windows 8.1 error por permisos de administrador

Al actualizar desde la store de microsoft para windows 8 a la nueva versión 8.1, marca error de que se necesita un usuario de tipo administrador para continuar con la instalación, lo curioso es que solamente se cuenta con 1 usuario y es tipo administrador.

Entonces el truco consiste en eliminar la actualización KB2871389 reiniciar el equipo y después intentar.
Si por algo sigue sin funcionar despues de eliminar, tenemos que borrar la cache de la store de microsoft con el siguiente comando: wsreset.exe
Se encuentra en c:/windows/system32/ por si no funciona desde ejecutar, y listo, volver a intentar.

POSTFIX: Problema con private/policy

Viendo el log del servidor de correos postfix me aparecen algunas lineas con los siguiente warning:

warning: problem talking to server private/policy: Connection timed out
warning: problem talking to server private/policy: Connection refused
NOQUEUE: reject: RCPT from smtp1.dominio.com[10.10.10.10]: 451 4.3.5 Server configuration problem; from= to= proto=ESMTP helo=

Y pues el problema radica en algo referente al private/policy, lo extraño es que no se habia tocado nada en meses y de repente aparecieron estos mensajes, entonces investigando más al respecto el problema esta en que se pierde la conexión, se rechaza y la solución es aumentar más tiempo a las conexiones y que no suceda lo anterior,

Gracias a este post: http://www.engardelinux.org/modules/index/list_archives.cgi?list=postfix-users&page=0730.html&month=2011-01 me ayudo a darme idea de por donde encontrar la solución, y pues les comparto la modificación (tomado de http://www.postfix.org/SMTPD_POLICY_README.html):

/etc/postfix/master.cf:
policy unix – n n – 0 spawn
       user=nobody argv=/some/where/policy-server

/etc/postfix/main.cf:
smtpd_recipient_restrictions =
       …
       reject_unauth_destination
       check_policy_service unix:private/policy
       …
policy_time_limit = 3600

Ahora, puntos a considerar, en la parte del archivo master.cf se especifica como parametro el número “0” originalmente en casi todos los manuales encontraremos el valor por default “-“, con el cero solucionamos el problema del limite de conexiones en los procesos smtpd.

Y también se agrego en el main.cf la parte de time_limit y siempre recordar que reject_unauth_destination va antes de check_policy_service, sino seremos openrelay.

Saludos.

Mostrar el contenido de un archivo gzip o zip sin descomprimirlo previamente

Si desean ver el contenido de un archivo comprimido con gzip o zip sin necesidad de descomprimirlo primero y despues aplicar un cat, entonces podemos utilizar estos comandos:

Para hacer un cat

zcat archivo.log.gz

Y para un more

zmore archivo.log.gz

Y listo.., ya podemos luego implementar algun grep para buscar algun patrón.

zcat archivo.log.gz | grep “buscar”

PHPExcel: Error al abrir un archivo creado con la función php://output

Estoy utilizando la libreria PHPExcel para crear archivos Excel 2007 desde PHP al vuelo., pero al momento de descargar el archivo utilizando algo como lo siguiente:

header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);
header(‘Content-Disposition: attachment;filename=”pruebas.xlsx”‘);
header(‘Cache-Control: max-age=0’);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007’);
$objWriter->save(‘php://output’);

Y al abrir el excel me aparece un error como el siguiente:

Excel no puede abrir el archivo ‘pruebas.xlsx’ porque el formato o la extensión de éste no son válidos. Compruebe que el archivo no se ha dañado y que la extensión del mismo coincide con el formato del archivo.

Pero el detalle esta en que si se genera para guardar el excel en disco duro, si se abre correctamente, entonceees!., el problema esta en la generación al vuelo que este enviando algo extraño.

La solución esta en el encoding de los archivos PHP, estos deben de estar en modo UTF-8 sin BOM (ANSI as UTF-8), para ver que tipo de codificación tenemos, instalamos el notepad++, despues en la parte inferior derecha aparecerá el encoding y pues verificar que diga ANSI as UTF-8, para convertir solo ingresar al menú Codificación.

Y listo!.., ya podemos crear nuestro archivo Excel., también no olviden verificar que no se mande nada de nada de texto (ni un espacio en blanco., nadaaa!)

MySQL: Como sumar un campo tipo Time

Si tienen un campo tipo Time (formato: 00:00:00) en su base de datos MySQL, y quieren hacer una suma con la tipica consulta:

SELECT SUM(campo_hora) FROM tabla

Verán que no regresa el resultado deseado…, eso es por el tipo de dato, entonces lo que se tiene que hacer es convertir a tipo numérico (segundos), sumar y después volver a convertir a tipo time., todo tan simple como usar una instrucción como sigue:

SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( campo_hora ) ) ) FROM tabla

Y listo!!.., asunto arreglado.