Проблема в том, что file.readlines() возвращает список строк - по одному для каждой строки в файле - а не одну строку. Символы [' и '] - это всего лишь способ python указывать содержащий объект списка. Он не знает заранее, что ваш файл содержит только одну строку.
Вы можете распечатать отдельные строки (в этом случае есть только один), перейдя по списку, например
for SaveDir in lines :
print SaveDir
Поскольку никто не мог сказать мне, как делать именно то, что я хотел, вот решение, которое я придумал:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ FSPPS/2 Sentelic FingerSensingPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ USB2.0 UVC PC Camera id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ MSI Laptop hotkeys id=13 [slave keyboard (3)]
Как мы можем видеть , мой тачпад - тот, у кого есть id=12. Чтобы отключить его, мне нужно запустить:
$ xinput set-int-prop 12 "Device Enabled" 8 0
и снова включить его:
$ xinput set-int-prop 12 "Device Enabled" 8 1
Прежде всего, Я могу получить состояние крышки в своей системе из этого файла:
$ cat /proc/acpi/button/lid/LID0/state
state: open
Когда я закрываю крышку, состояние становится closed.
Теперь, чтобы получить состояние как переменную, я могу проверить статус выхода команды nifty grep:
$ grep -q closed /proc/acpi/button/lid/*/state
$ echo $?
1
Итак, чтобы включить или отключить сенсорную панель в зависимости от состояния крышки, все, что мне нужно сделать, это:
$ grep -q closed /proc/acpi/button/lid/*/state
$ xinput set-int-prop 12 "Device Enabled" 8 $?
Чтобы выполнять указанные команды каждый раз, когда крышка закрывается или открывается, я создал файл /etc/acpi/local/lid.sh.post со следующим содержимым:
[ f7]XAUHTORITY и DISPLAY необходимо установить, чтобы разрешить root (кто запускает процесс acpid) для доступа к X сеансу пользователя.
Что вы можете сделать, это поставить компьютер на спящий режим перед закрытием крышки. Таким образом, нажатие кнопки питания возобновит спящий режим, и закрытие крышки не повлияет на сенсорную панель.
Альтернативно, вы можете открыть терминал (ctrl + alt + T) и ввести
sudo rmmod psmouse
Он позволяет использовать мышь usb, беспроводную или другую, но отключает сенсорную панель.
Кроме того, у вас есть возможность установить сенсорный индикатор, который обеспечивает простой способ деактивации сенсорной панели
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
Он будет находиться в разделе Application> Accesory OR, в зависимости от вашего пользовательского интерфейса, будет небольшая кнопка с сенсорной панелью рядом с кнопкой регулировки громкости
Мне бы очень понравилась такая функция, но теперь я привык к отключению тачпада, прежде чем закрывать крышку ярлыком (Fn + F7 здесь, зависит от модели и модели ноутбука). Конечно, это не решает проблему вообще, но это большой старт. Если у вас нет предустановленного ключа на вашем ноутбуке, я вполне уверен, что есть способ связать его вручную.