Опция «Копировать и вставить в терминал» в контекстном меню Firefox / Nautilus для выделенного текста

Я сообщил об ошибке. Согласно обсуждению, это может быть что-то связанное с fontconfig или внутренним механизмом возврата шрифтов в Chrome.

В любом случае, я, казалось, временно разрешил его, удалив пакет через apt-get и загрузив NotoSansCJK непосредственно сообщил , который содержит шрифты разных весов в отдельных файлах. После установки шрифтов вручную эта проблема кажется исправленной, и Chrome может корректно отображать CJK, даже если я не изменил шрифты по умолчанию в Chrome.

0
задан 10 February 2018 в 14:56

2 ответа

Я ничего не знаю о добавлении параметров в контекстные меню, но вот та часть, которую вы не можете найти в другом месте (см. ниже, где точно):

Как вставить выделенный текст (например, XA_PRIMARY ) в новом окне терминала автоматически

Скопируйте свой файл ~/.bashrc, я использую ~/.bashrc_selection в качестве нового файла здесь: cp ~/.bashrc ~/.bashrc_selection Добавьте эти строки в конец нового файла и сохраните его: selection=$(xclip -o | sed ':a;N;$!ba;s/\n/; /g') bind $'"\u200b":"\1'"$selection"'\5"' perl -le 'require "sys/ioctl.ph"; ioctl(STDIN, &TIOCSTI, $_) for split "", join " ", @ARGV' -- $'\u200b' Выберите фрагмент текста, который вы хотите вставить в новый терминал. Вам не нужно нажимать любую клавишу клавиатуры, просто выберите текст с помощью мыши и не выберите ничего другого, прежде чем запускать команду ниже. Выполните следующую команду, чтобы открыть терминал: xterm -e "bash --rcfile ~/.bashrc_selection" Это должно работать с другими эмуляторами терминалов (вариант для выполнения команды обычно -e), например. gnome-terminal -e "bash --rcfile ~/.bashrc_selection"

Это также работает для текста с пробелами и символами новой строки. Когда новые строки интерпретируются bash, я преобразовал их в ;␣ (точка с запятой, а затем пробел) с помощью команды sed, вы можете изменить это или выполнить дальнейшую замену.

Все, что теперь нужно выяснить, как добавить запись контекстного меню в каждую из программ, в которых вы хотите использовать эту функцию, и позволить ей запускать команду с шага 4. Вот что я нашел с быстрым поиском на сайте:

Как запустить - из контекстного меню Firefox - команды терминала, выбранные на веб-страницах? Как настроить контекстное меню в Nautilus? Как добавить пользовательский элемент в контекстное меню nautilus, но НЕ в подменю?

Другим и, возможно, лучшим подходом было бы добавить пользовательскую комбинацию клавиш, которая запускает команду, это объясняется тем, как сменить быстрые клавиши ....

Чтобы написать этот пост, я использовал мой ответ на окно главного терминала Отображение только команд и, следовательно, то, что другие научили меня тому, как автоматически вставлять строку после запроса · Unix.SE.

2
ответ дан 17 July 2018 в 21:11

Я ничего не знаю о добавлении параметров в контекстные меню, но вот та часть, которую вы не можете найти в другом месте (см. ниже, где точно):

Как вставить выделенный текст (например, XA_PRIMARY ) в новом окне терминала автоматически

Скопируйте свой файл ~/.bashrc, я использую ~/.bashrc_selection в качестве нового файла здесь: cp ~/.bashrc ~/.bashrc_selection Добавьте эти строки в конец нового файла и сохраните его: selection=$(xclip -o | sed ':a;N;$!ba;s/\n/; /g') bind $'"\u200b":"\1'"$selection"'\5"' perl -le 'require "sys/ioctl.ph"; ioctl(STDIN, &TIOCSTI, $_) for split "", join " ", @ARGV' -- $'\u200b' Выберите фрагмент текста, который вы хотите вставить в новый терминал. Вам не нужно нажимать любую клавишу клавиатуры, просто выберите текст с помощью мыши и не выберите ничего другого, прежде чем запускать команду ниже. Выполните следующую команду, чтобы открыть терминал: xterm -e "bash --rcfile ~/.bashrc_selection" Это должно работать с другими эмуляторами терминалов (вариант для выполнения команды обычно -e), например. gnome-terminal -e "bash --rcfile ~/.bashrc_selection"

Это также работает для текста с пробелами и символами новой строки. Когда новые строки интерпретируются bash, я преобразовал их в ;␣ (точка с запятой, а затем пробел) с помощью команды sed, вы можете изменить это или выполнить дальнейшую замену.

Все, что теперь нужно выяснить, как добавить запись контекстного меню в каждую из программ, в которые вы хотите использовать эту функцию, и позволить ей запустить команду с шага 4. Вот что я нашел с быстрым поиском на сайте:

Как запустить - из контекстного меню Firefox - команды терминала, выбранные на веб-страницах? Как настроить контекстное меню в Nautilus? Как добавить пользовательский элемент в контекстное меню nautilus, но НЕ в подменю?

Другим и, возможно, лучшим подходом было бы добавить пользовательскую комбинацию клавиш, которая запускает команду, это объясняется тем, как сменить быстрые клавиши ....

Чтобы написать этот пост, я использовал мой ответ на окно главного терминала Отображение только команд и, следовательно, то, что другие научили меня тому, как автоматически вставлять строку после запроса · Unix.SE.

2
ответ дан 23 July 2018 в 21:50
  • 1
    Похоже, хорошая идея. Для первой части, то есть для копирования текста, вы можете использовать xdotool. Имейте xdotool правой кнопкой мыши и скопируйте текст в буфер обмена. Все это можно объединить в скрипт, который вы запускаете с помощью горячей клавиши. Скрипт запускает xdotool для копирования в буфер обмена, затем запускает команду сверху, чтобы открыть терминал особым образом. Работает только на xorg, а не на wayland. – vanadium 3 March 2018 в 22:27
  • 2
    @vanadium Почему нужно копировать в буфер обмена (и почему с помощью щелчка правой кнопкой мыши вместо просто Strg+C), если вы можете напрямую использовать первичный буфер, где помеченный текст автоматически сохраняется без каких-либо действий? Думаю, я не пойду за тобой ... – dessert 3 March 2018 в 23:08

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

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