Я хочу, чтобы запустить какую-либо команду в питон скриптОперация не допускается
import fcntl
KDSETLED = 0x4B32
SCR_LED = 0x01
console_fd = os.open('/dev/console', os.O_NOCTTY)
fcntl.ioctl(console_fd, KDSETLED, SCR_LED)
Я установил a+rw
для /dev/console
, но когда я запускаю скрипт из обычного пользователя:
fcntl.ioctl(console_fd, KDSETLED, SCR_LED) IOError: [Errno 1] Operation not permitted
Что я должен делать, если Мне нужно запустить этот скрипт у обычного пользователя?
У меня такая же проблема, она изменена на/dev/tty7, но не понимаю, как обеспечить права пользователя. Не удалось выяснить из вашего псевдокода (?). – Alex
@Alex, это не псевдокод, это C, часть источников ядра Linux. Вам нужно либо запустить ваш код на консоли Linux (не под X), либо, альтернативно, установить этот бит бит (или быть root, который обычно имеет все бит бит). Если вы работаете под X, вы должны использовать X API для изменения светодиодов клавиатуры. Это определенно будет другим вопросом. – derobert
Подпишитесь, спасибо, что разъясните мне, что особенно с X. Еще один глупый вопрос: возможно ли сделать символическую связь с устройствами (или что-то похожее на #ln -s ~/blahblahdev/console/dev/console)? – Alex