Как заставить Guake использовать мою историю команд Zsh?

Я написал этот маленький скрипт в соответствии с инструкциями, предложенными @ suli8.

Если вы сохраните его в файле (его можно называть apply -googletalk-v4l1-workaround.sh, но может быть любым) , тогда вы можете применить его:

sudo bash apply-googletalk-v4l1-workaround.sh

Это может помочь избежать небольших ошибок.

#!/bin/bash

plugin_location=/opt/google/talkplugin/GoogleTalkPlugin

mv $plugin_location $plugin_location.real

cat > $plugin_location <<EOF
#!/bin/sh
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so $plugin_location.real
EOF

chmod +x $plugin_location

killall GoogleTalkPlugin

Я видел в вышеприведенном комментарии, что обходной путь заставил Google Talk остановиться работая в Gmail. Я предполагаю, что это было из-за небольшой ошибки при выполнении шагов. Использование этого скрипта может избежать этой ошибки.

0
задан 17 December 2017 в 16:14

3 ответа

Guake является терминальным эмулятором. Таким образом, он не сохраняет историю команд в любом месте (он даже не знает, что такое история команд). Он запускает вашу оболочку, а оболочка делает все остальное.

Возможно, по какой-то причине Guake запускает другую оболочку, например. bash вместо предпочтительного zsh. Также может случиться, что он запускает zsh с некоторыми разными настройками, например. другой argv[0], который вызывает zsh, вести себя по-другому (например, bash ведет себя по-другому, если вы начинаете его как sh; не уверен, что zsh имеет что-то подобное).

Другое объяснение может быть, что, когда Guake скрывает свое окно, он не завершает работу оболочки внутри, тот же zsh продолжает работать там и снова отображается, когда вы снова вызываете Guake. То есть, zsh не записывал свою историю между ними и не читал, что там написано еще zsh экземпляров (точно так же, как если бы это был «обычный» эмулятор терминала, окно которого вы минимизировали, но не закрывали).

2
ответ дан 22 May 2018 в 16:57
  • 1
    Хитрость заключается в том, чтобы настроить Guake на использование оболочки zsh. Когда у вас zsh установлен как оболочка по умолчанию, а Guake использует <default_shell, это не сработает. – menteith 17 December 2017 в 16:47

Guake является терминальным эмулятором. Таким образом, он не сохраняет историю команд в любом месте (он даже не знает, что такое история команд). Он запускает вашу оболочку, а оболочка делает все остальное.

Возможно, по какой-то причине Guake запускает другую оболочку, например. bash вместо предпочтительного zsh. Также может случиться, что он запускает zsh с некоторыми разными настройками, например. другой argv[0], который вызывает zsh, вести себя по-другому (например, bash ведет себя по-другому, если вы начинаете его как sh; не уверен, что zsh имеет что-то подобное).

Другое объяснение может быть, что, когда Guake скрывает свое окно, он не завершает работу оболочки внутри, тот же zsh продолжает работать там и снова отображается, когда вы снова вызываете Guake. То есть, zsh не записывал свою историю между ними и не читал, что там написано еще zsh экземпляров (точно так же, как если бы это был «обычный» эмулятор терминала, окно которого вы минимизировали, но не закрывали).

2
ответ дан 18 July 2018 в 01:01

Guake является терминальным эмулятором. Таким образом, он не сохраняет историю команд в любом месте (он даже не знает, что такое история команд). Он запускает вашу оболочку, а оболочка делает все остальное.

Возможно, по какой-то причине Guake запускает другую оболочку, например. bash вместо предпочтительного zsh. Также может случиться, что он запускает zsh с некоторыми разными настройками, например. другой argv[0], который вызывает zsh, вести себя по-другому (например, bash ведет себя по-другому, если вы начинаете его как sh; не уверен, что zsh имеет что-то подобное).

Другое объяснение может быть, что, когда Guake скрывает свое окно, он не завершает работу оболочки внутри, тот же zsh продолжает работать там и снова отображается, когда вы снова вызываете Guake. То есть, zsh не записывал свою историю между ними и не читал, что там написано еще zsh экземпляров (точно так же, как если бы это был «обычный» эмулятор терминала, окно которого вы минимизировали, но не закрывали).

2
ответ дан 24 July 2018 в 17:19

Другие вопросы по тегам:

Похожие вопросы: