Я не знаю никакого способа изменить терминал, чтобы он принимал все символы. Управляющие символы являются особенностью терминала, и обычно программа обязана обращать внимание на тип терминала, создавать правильные управляющие символы для функций терминала, которые она хочет использовать, и экранировать любые управляющие символы, которые она хочет напечатать.
Информацию о том, как изменить программу Python, чтобы она это делала, можно найти, например, в этом вопросе на stackoverflow.
В командной оболочке вы можете использовать, например, tr
для преобразования управляющих символов в другие символы ASCII (но не в символы юникода). Смотрите этот вопрос об альтернативах, которые могут использовать символы Юникода.
Юникод определяет группу управляющих изображений для отображения управляющих символов, например, возврат каретки - это ␍
. Если вы никогда не слышали о ♪
, представляющем CR, а если и слышали, то это чисто случайное совпадение в каком-то шрифте, который вы случайно используете.
И в оболочке вы не просто cat
двоичный файл, а используете hexdump -C
или подобное для его изучения.
@maxschlepzig - systemctl start poweroff.target
успешно выключает машину. Я не пробовал менять HandlePowerKey=poweroff
, потому что я также смотрел на настройки gnome.
@don_crissti - я был настолько сосредоточен на systemd, что даже не подумал о том, что gnome является частью процесса. Вы правы, это дубликат вопроса Gnome 3: как настроить кнопку питания на выключение вместо приостановки?
. Принятым ответом там является патч и пересборка gnome-settings-daemon
.
Прежде чем пытаться установить патч, я посмотрел
$ gsettings get org.gnome.settings-daemon.plugins.power button-power
'suspend'
и suspend - это то, что он делал, но не то, что я хотел. Посмотрим на возможные значения для кнопки button-power
$ gsettings range org.gnome.settings-daemon.plugins.power button-power
enum
'blank'
'suspend'
'shutdown'
'hibernate'
'интерактивный'
'ничего'
'logout'
Поскольку выключение - это то, что я хотел сделать, я обновил этот ключ
gsettings set org.gnome.settings-daemon.plugins.power button-power shutdown
Теперь кнопка питания будет чисто выключать машину.
Не будучи большим экспертом в Gnome, есть ли лучший способ сделать это?