Как я могу синхронизировать свой root gedit с настройками моего пользователя gedit?

Чтобы услышать звуковой сигнал из pc-динамика из сценария Python, вы можете использовать API evdev Linux:

#!/usr/bin/env python
import ctypes
import math
import os
import time


EV_SND = 0x12  # linux/input-event-codes.h
SND_TONE = 0x2  # ditto
time_t = suseconds_t = ctypes.c_long

class Timeval(ctypes.Structure):
    _fields_ = [('tv_sec', time_t),       # seconds
                ('tv_usec', suseconds_t)] # microseconds

class InputEvent(ctypes.Structure):
    _fields_ = [('time', Timeval),
                ('type', ctypes.c_uint16),
                ('code', ctypes.c_uint16),
                ('value', ctypes.c_int32)]


frequency = 440  # Hz, A440 in ISO 16
device = "/dev/input/by-path/platform-pcspkr-event-spkr"
pcspkr_fd = os.open(device, os.O_WRONLY)  # root! + modprobe pcspkr
fsec, sec = math.modf(time.time())  # current time
ev = InputEvent(time=Timeval(tv_sec=int(sec), tv_usec=int(fsec * 1000000)),
                type=EV_SND,
                code=SND_TONE,
                value=frequency)
os.write(pcspkr_fd, ev)  # start beep
try:
    time.sleep(0.2)  # 200 milliseconds
finally:
    ev.value = 0  # stop
    os.write(pcspkr_fd, ev)

Запустить Linux evdev API в качестве корня. /etc/rc.local запускается root, поэтому скрипт должен работать как есть.

Если файл /dev/input/by-path/platform-pcspkr-event-spkr не существует, убедитесь, что модуль pcspkr загружен:

root# modprobe pcspkr

]

У сценария нет других зависимостей, кроме самого python.

4
задан 4 January 2012 в 08:54

0 ответов

Другие вопросы по тегам:

Похожие вопросы: