РЕДАКТИРОВАТЬ: Оказалось, что я смог частично решить мою собственную проблему - я не уверен в конкретных деталях, но насколько я знаю, создание / редактирование ~/.bash_profile
просто делает запуск сценариев терминала в этом файле автоматически при запуске. Похоже, ~/.bashrc
и другие файлы делают похожие, но все же разные вещи, но я не знаю деталей. Чтобы исправить это, я отредактировал существующий файл .bash_profile
и добавил в export GPG_TTY=$(tty)
. Это исправлено в GPG / git в Терминале.
Название может вводить в заблуждение, поэтому позвольте мне остановиться подробнее.
Мой код на данный момент выглядит так:
#!/bin/bash
clear
echo "This script fixes errors with ioctl in GPG."
export GPG_TTY=$(tty)
Последняя строка помогает с исправлением (проблема подробно описана здесь ; используемое решение), но мне приходится запускать его несколько раз, каждый раз, когда я заново открываю новое окно терминала. Хотя скрипт не обязательно может быть быстрее, чем просто набирать его, он все равно поможет мне.
На данный момент, результатом является то, что он открывает новое окно в терминале, с выводом, подобным этому:
This script fixes errors with ioctl in GPG.
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
Это не помогает ни с одним из других окон, которые я использую, так есть ли способ применить это исправление к другим окнам или открыть в последнем использованном окне терминала?
Кроме того, существует ли постоянное исправление для ioctl для GPG или есть способ автоматического запуска этого сценария при каждом открытии нового окна терминала или при использовании команды, использующей GPG (например, git commit
)?
Я вынужден либо вводить код вручную, либо использовать для этого файл скрипта?
Это может быть плохой или простой вопрос, но я хотел бы задать его все же.
Заранее спасибо.