GNU/Linux >> Tutoriales Linux >  >> Linux

Hacer que la computadora emita un pitido de forma remota en el altavoz incorporado

Prueba:

sudo sh -c "echo -e '\a' > /dev/console"

Es posible que primero deba cargar el módulo del kernel para el altavoz incorporado (por ejemplo, si el módulo se incluyó en la lista negra de la carga automática):

sudo modprobe pcspkr

primero:

modprobe pcspkr

luego soluciones del tema, como

ssh [email protected]
beep

Desde el bip página man en mi máquina Ubuntu:

LOCURA DE IOCTL

Algunos usuarios encontrarán una situación en la que el pitido muere con una queja de ioctl(). La razón de esto, como Peter Tirsek tuvo la amabilidad de señalarme, se deriva de cómo el kernel maneja el intento de tocar (para los que no son programadores:ioctl es una especie de función general que le permite tocar cosas que no tienen otro toque predefinido). mecanismo) thetty, que es como emite un pitido. La historia corta es que el kernel verifica que:

  • eres el superusuario

  • eres dueño del tty actual

Lo que esto significa es que los conductos radiculares siempre hacen que el pitido funcione (¡que yo sepa!), y que cualquier usuario local puede hacer que el pitido funcione, PERO un usuario remoto no root no puede usar el pitido en su estado natural.

Esta podría ser la razón por la cual Beep se niega a trabajar de forma remota. Puede verificar si esta es la causa raíz invocando ssh con la -t opción, que fuerza la asignación de pseudo-tty.

Una solución menos deseable sería crear una secuencia de comandos contenedora que ejecute un pitido y otorgarle permisos de root a esta secuencia de comandos. Si ejecuta este script sobre ssh debidamente produce un pitido, sabrá que el problema es la falta de una terminal de control.


Linux
  1. Analizar el kernel de Linux con ftrace

  2. Cómo hacer que una computadora vieja vuelva a ser útil

  3. Pruebas de integración continua para el kernel de Linux

  4. ¿Cómo hacer que Gpg-agent olvide la frase de contraseña automáticamente?

  5. ¿Cómo emitir sonido usando un altavoz incorporado desde una línea de comando?

Cómo el kernel de Linux maneja las interrupciones

Cómo verificar la versión del kernel en Linux

¿Cómo verificar HZ en la terminal?

¿Cuál es el número máximo de direcciones IP que se pueden asignar a una computadora determinada?

¿Qué puede hacer que pasar init=/path/to/program al kernel no inicie el programa como init?

¿Dónde se almacena el archivo de configuración del kernel?