…a little of everything and a lot of nothing!! Jueves, 9 septiembre 2010 - 20:28
Publications
Comments

$beep Could not open /dev/console for writing [Slackware]

Hola amigos, este es un pequeño error que me dió el sistema luego de instalar beep (desde los slackbuilds)

Veamos …

¿Que es Beep?

Es un miniprogramita escrito en C por http://johnath.com/ el cual me gusta mucho (ya que con este programita podemos reproducir musica en consola usando beep (el sonidito del speaker del PC)), bueno veamos como instalar y como solucionar el posible error de Permiso denegado (cuando lo ejecutamos como usuario normal)

Instalación de Beep en Slackware [version 13.1]

  • Vamos a slackbuilds.org
  • Buscamos beep.SlackBuild
  • Descomprimimo el contenido del slackbuild y descargamos el paquete beep
  • Copiamos/movemos el archivo/paquete beep dentro de la carpeta del slackbuild
  • Entramos al terminal como root y ejecutamos el slackBuild (con el comando SH)
  • Luego de todo el proceso nos dejará un tgz en la carpeta /tmp/
  • Ejecutamos el comando “installpkg” con la direccion del archivo  tgz en la carpeta /tmp/
  • Luego de todo ello podemos probar el beep pero ..

Puede que no funcione ya que nuestro slackware ( o tu distro ) no ha cargado el módulo del kernel para comunicarse con el Altavoz del Sistema, entonces lo cargamos con modprobe pcspkr; ahora escribamos “beep” si estamos como root debería sonar nuestro altavoz (suponiendo que nuestra Placa Madre tiene un Speaker), ahora intentemos lo mismo como usuario normal … se oye algo?

Pues si luego de intentar hacer un “beep” como usuario normal te sale un error asi:

usuario@usuarioPC:~$ beep
Could not open /dev/console for writing.
open: Permission denied

Eso quiere decir que el BEEP no tiene permisos de ejecución, el mensaje de “Could not open /dev/console for writing” no significa que sea un problema de tu /dev/console ya que (me tome la libertad de leer el código fuente de beep y resulta que …) es un mensaje del programa, asi que lo solucionamos así:

Escribimos esto como root [suponiendo que tu binario se encuentra en /usr/bin/beep, caso contrario podria estar en /bin/beep]:

# chgrp audio /usr/bin/beep
# chmod 4750 /usr/bin/beep

CHGRP asigna al grupo “audio” el comando BEEP; CHMOD le cambia los permisos a BEEP; con ello solucionamos el problema del BEEP en Slackware (o alguna distro donde también nos encontremos con este problema.

[Solucion Válida para Slackware y distros basadas en ésta] Resulta que para hacer funcionar nuestro BEEP tuvimos que cargar un modulo del kernel (modprobe); para que éste modulo se cargue en cada inicio del sistema tendremos que modificar el archivo:

/etc/rc.d/rc.modules

Editando la linea:

# Enable PC speaker support:
# /sbin/modprobe pcspkr

Le quitamos el signo ‘#‘  /sbin/modprobe pcspkr

Ende

[Nota del Autor]: Si no te ha funcionado comenta, a lo mejor encontramos otra solución ;)

Leave a Reply