Расширение автоподстановки bash

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#1

15 май 2022, 04:27

Здравствуйте! У меня ноутбук с гибридной видеокартой (Intel + Nvidia), работа карты реализована через NVIDIA PRIME Render Offload. В этом случае, для запуска приложений на гибридной карте, нужно перед командой написать "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia". Буков много, печатать долго и легко ошибиться. Поэтому я сделал в /usr/local/bin/ исполняемый файл prime-run, с содержимым __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia "$@" (после #!/bin/bash, разумеется). Теперь запуск приложения на дискретке прост: prime-run <программа>. (вообще, это решение подсмотрел в Генте)
Проблема в том, что после ввода prime-run не работает автоподстановка на Tab. Т.е. команду приложения нужно писать полностью вручную. Не сказать что это большая проблема, однако для запуска программ из Flatpak наличие автоподстановки было бы очень кстати.
Вопрос: Можно ли как-то расширить функционал bash-completion, чтобы он научился автоподстановке после "prime-run"?

Аватара пользователя

vir0id
Сообщения: 2757
Зарегистрирован: 19 дек 2017, 18:48
Решено: 15
Откуда: Рига
Благодарил (а): 163 раза
Поблагодарили: 305 раз
Контактная информация:

Расширение автоподстановки bash

#2

15 май 2022, 05:22

Bash-autosuggestion вместе с ohmybash или переходить на zsh с ohmyzsh и zsh-autosuggestion. Или смотреть как сделать алиасы

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#3

15 май 2022, 05:48

vir0id писал(а):
15 май 2022, 05:22
Bash-autosuggestion вместе с ohmybash или переходить на zsh с ohmyzsh и zsh-autosuggestion. Или смотреть как сделать алиасы
С алиасами не получилось. Я на пробу сделал alias prime-run_alias="__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia", но автоподстановка не появилась после prime-run_alias.
ZSH офигительно удобен, но его настраивать под себя муторно и долго (много лет назад его пробовал), так что оставлю его на крайний случай.
Вообще, я думал есть решение вставить блок кода в какой-нибудь .bashrc, чтобы реализовать то, что я запрашивал.

Аватара пользователя

vir0id
Сообщения: 2757
Зарегистрирован: 19 дек 2017, 18:48
Решено: 15
Откуда: Рига
Благодарил (а): 163 раза
Поблагодарили: 305 раз
Контактная информация:

Расширение автоподстановки bash

#4

16 май 2022, 07:12

Sova писал(а):
15 май 2022, 05:48
alias prime-run_alias="__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME
Ну так сделай

Код: Выделить всё

alias prime-run_alias="prime-run __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia"

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Расширение автоподстановки bash

#5

16 май 2022, 07:42

Активно пользуюсь расширением HSTR.
Нажимаю CTRL+R, ввожу символы команды и получаю список совпадений.

Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#6

16 май 2022, 08:39

vir0id писал(а):
16 май 2022, 07:12
Ну так сделай
Сделал. Не помогло

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#7

16 май 2022, 08:42

demonlibra писал(а):
16 май 2022, 07:42
Активно пользуюсь расширением HSTR.
Так оно по истории шарит, как я понял? Если да, то не пойдёт.

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Расширение автоподстановки bash

#8

16 май 2022, 08:45

Да, по истории.
Пожалуйста ))
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

rogoznik
Сообщения: 10041
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1956 раз
Контактная информация:

Расширение автоподстановки bash

#9

16 май 2022, 09:10

Sova, никакое расширение тебе не поможет. Т.к. никакое расширение не знает каким должен быть аргумент вызова твоего скрипта
ИзображениеИзображение

Аватара пользователя

vir0id
Сообщения: 2757
Зарегистрирован: 19 дек 2017, 18:48
Решено: 15
Откуда: Рига
Благодарил (а): 163 раза
Поблагодарили: 305 раз
Контактная информация:

Расширение автоподстановки bash

#10

16 май 2022, 10:04

Sova писал(а):
16 май 2022, 08:39
Сделал. Не помогло
Как именно ты это сделал? Скрин покажи
rogoznik писал(а):
16 май 2022, 09:10
Sova, никакое расширение тебе не поможет. Т.к. никакое расширение не знает каким должен быть аргумент вызова твоего скрипта
Как я понял. Он это "расширение" хочет использовать не для вызова скрипта. А для быстрого набора команды с параметрами из истории. Он кинул свой "скрипт" в /usr/local/bin.

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#11

16 май 2022, 11:05

vir0id писал(а):
16 май 2022, 10:04
Скрин покажи
Там ничего нового Вы не увидите. Временный альяс (в .bashrc записывать пока не стал за ненадобностью) prime-run_alias="__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME" не дает автоподстановку на Tab.
vir0id писал(а):
16 май 2022, 10:22
А для быстрого набора команды с параметрами из истории
Мне не нужны команды из истории. Если я что-то запускаю с дискреткой на постоянной основе, то или записываю это в .desktop или делаю отдельный файл под это в /usr/local/bin . А автоподстановка мне, как раз нужна для запуска из консоли с целью диагностики и т.д. - т.е. в истории этого нет и делается не часто

Аватара пользователя

vir0id
Сообщения: 2757
Зарегистрирован: 19 дек 2017, 18:48
Решено: 15
Откуда: Рига
Благодарил (а): 163 раза
Поблагодарили: 305 раз
Контактная информация:

Расширение автоподстановки bash

#12

16 май 2022, 11:28

Ну в таком случае делай правильный скрипт

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#13

16 май 2022, 12:01

vir0id писал(а):
16 май 2022, 11:28
Ну в таком случае делай правильный скрипт
Дык, за тем и обратился...

Аватара пользователя

rogoznik
Сообщения: 10041
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1956 раз
Контактная информация:

Расширение автоподстановки bash

#14

16 май 2022, 12:44

Да хоть как вы скрипт пишите. Хоть стоя на голове и ушами код набирайте - не поможет
ИзображениеИзображение

Аватара пользователя

slant
Сообщения: 4504
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1992 раза
Контактная информация:

Расширение автоподстановки bash

#15

16 май 2022, 13:44

Лайвхак для подобного случая - сначала просто набираем команду (с табами где надо), потом жмем Home и в начало строчки добавляем алиас/скрипт для запуска через прайм и пробел. :) Где будет находится курсор при нажатии Enter - не принципиально. :)

Аватара пользователя

demonlibra
Сообщения: 844
Зарегистрирован: 12 авг 2017, 09:09
Решено: 13
Откуда: Ростов-на-Дону
Благодарил (а): 29 раз
Поблагодарили: 204 раза
Контактная информация:

Расширение автоподстановки bash

#16

16 май 2022, 15:40

Можно сделать запуск приложений через вызов контекстного меню в Nemo (action).
Т.е. нажимаете ПКМ на исполняемом файле, выбираете "Запустить так-то ..."
К этой операции привязать сценарий, который подставит всё, что нужно.
Basic (ZXSpectrum)→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-21.1
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#17

16 май 2022, 16:10

slant писал(а):
16 май 2022, 13:44
Лайвхак для подобного случая
- пожалуй единственный рабочий вариант из простейших
demonlibra писал(а):
16 май 2022, 15:40
Можно сделать запуск приложений через вызов контекстного меню в Nemo
- надо в терминале (для диагностики). Без терминала я уже сделал.

Аватара пользователя

WWolf
Сообщения: 3893
Зарегистрирован: 14 фев 2018, 00:51
Решено: 31
Откуда: Краснодар
Благодарил (а): 1687 раз
Поблагодарили: 1212 раз
Контактная информация:

Расширение автоподстановки bash

#18

16 май 2022, 16:18

Sova, ну напиши свою программку или скрипт в бинарник найди...

Аватара пользователя

Автор темы
Sova
Сообщения: 99
Зарегистрирован: 15 мар 2020, 08:58
Решено: 1
Благодарил (а): 29 раз
Поблагодарили: 7 раз
Контактная информация:

Расширение автоподстановки bash

#19

16 май 2022, 16:26

WWolf писал(а):
16 май 2022, 16:18
Sova, ну напиши свою программку или скрипт в бинарник найди...
Нету такого в репах. В Генте (и, вроде, в Арче ещё) есть, но там тоже без автоподстановки работает. Собственно, я свой этот скрипт сделал найдя исходный код гентушного пакета. А самому писать - я только один ЯП знаю (Gdscript) и он здесь не проканает.

Аватара пользователя

vir0id
Сообщения: 2757
Зарегистрирован: 19 дек 2017, 18:48
Решено: 15
Откуда: Рига
Благодарил (а): 163 раза
Поблагодарили: 305 раз
Контактная информация:

Расширение автоподстановки bash

#20

16 май 2022, 16:58

Sova писал(а):
16 май 2022, 12:01
Дык, за тем и обратился...
Ну тогда попробуй сделать такой скрипт prime-run

Код: Выделить всё

#!/bin/bash
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"
и закинь его в /usr/bin/
Тот что у тебя в local/bin убери

Ответить

Вернуться в «Системные утилиты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя