Причина, по которой команда setxkbmap
не выполнялась после ее добавления в ~/.profile
заключается в том, что этот файл читается вашей оболочкой (, что, вероятно, bash )только при запуске оболочки login . В эмуляторах терминала X
не запускать оболочки входа в систему. Вы добавляете setxkbmap
к вашему ~/.bashrc
, если вы используете Bash
, но есть лучший способ доступен в системах debian
-изменить раздел XKBOPTIONS
в вашем /etc/default/keyboard
, например:
root@debian:/home/ja# cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="ctrl:nocaps"
BACKSPACE="guess"
Теперь запустите эту команду, как описано вman 7 keyboard
:
udevadm trigger --subsystem-match=input --action=change
Вам даже не нужно перезапускать lightdm
. В следующий раз lightdm
будет будут применены запущенные настройки в /etc/default/keyboard
. автоматически. Я только что проверил это на своем Debian 9.4
.
У тебя есть шебанг? Ваша первая строка сценария должна указывать на фактического интерпретатора, например.
#!/usr/bin/python3
Кроме того, убедитесь, что разрешения установлены правильно, например. вам, вероятно, понадобится что-то вроде 775.
Вот чтобы показать, что все работает отлично:
$ pwd
/tmp/test
$ ls
test.py
$ head -3 test.py
#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0 OR GPL-3.0
#
$ export PATH=/tmp/test:$PATH
$ test.py
usb1 1d6b:0002 09 1IF [USB 2.00, 480 Mbps, 0mA] (xhci-hcd 0000:04:00.1) hub
usb2 1d6b:0003 09 1IF [USB 3.10, 10000 Mbps, 0mA] (xhci-hcd 0000:04:00.1) hub
usb3 1d6b:0002 09 1IF [USB 2.00, 480 Mbps, 0mA] (xhci-hcd 0000:04:00.3) hub
...
skipped
т.е. все работает.
Фактический ответ после получения всей информации :ваша программа находится в /home/pol/bin/Python
, а $PATH содержит только /home/pol/bin
. Переместите программу в /home/pol/bin
или добавьте /home/pol/bin/Python
в $PATH.