Рейтинг:0

Как получить команду с псевдонимом для выполнения из пункта меню?

флаг in

Я ремонтирую компьютеры для небольшой некоммерческой организации, и мы используем xubuntu, клонированный с помощью clonezilla. У меня возникла проблема, когда я установил псевдоним:

псевдоним pkexec='pkexec /usr/bin/env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'

Это прекрасно работает из командной строки и из пункта меню, который я редактировал на своей рабочей установке. С моей рабочей установки я получаю запрос пароля, который:

Для запуска '/usr/bin/env' требуется аутентификация  

Я ввожу свой пароль, и /usr/bin/hardinfo открывается как суперпользователь.

Однако, когда это делается на любом из моих «клонов», pkexec отображает запрос пароля:

Для запуска /usr/bin/hardinfo требуется аутентификация. 

Я ввожу свой пароль, и запускается top show hardinfo, затем происходит сбой или больше не отображается как исполняемая программа. Я знаю, что между моей установкой и моими клонами есть что-то другое. Я не знаю, что это такое. Я пишу здесь для ваших комментариев и предложений.

Заранее спасибо,

@бекон,

Я настроил функцию в .bashrc

pkexec() { команда pkexec /usr/bin/env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY "$@" }

Я получаю синтаксическую ошибку, когда запускаю исходный токен синтаксической ошибки .bashrc, неожиданный токен:

bash: .bashrc: строка 146: синтаксическая ошибка рядом с неожиданным токеном `('
bash: .bashrc: строка 146: `pkexec(){"команда pkexec /usr/bin/env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY "$@" "}'

@муру

Я изменил его, и теперь он работает.

pkexec () { /usr/bin/pkexec /usr/bin/env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY "$@" } исходник .bashrc и бум. он работает на моей домашней установке, работающей с Mint из командной строки. но если я редактирую пункт меню pkexec /usr/bin/hardinfo, я получаю окна с паролем, говорящие, что /usr/bin/hardinfo требует аутентификации для запуска от имени пользователя root. хардинфо вылетает.

Но даже после всей вашей помощи у меня все еще остается вопрос: что могло измениться на моей рабочей установке, из-за чего клонированное изображение не работало должным образом? Какие шаги по устранению неполадок могут помочь мне разобраться в проблеме, которая может или не может повлиять на будущие машины с образами.

Спасибо за всю твою помощь.

cocomac avatar
флаг cn
Я не уверен в этом, но рассматривали ли вы возможность взять один из ваших клонированных образов и загрузить его на виртуальной машине? Это может позволить вам отладить проблему...
Terence Golightly avatar
флаг in
На самом деле нет. Я не думаю, что знаю, как это сделать. Я имею в виду, что могу установить виртуальный бокс (с чем я знаком), но на самом деле клонировать образ на виртуальную машину, я не знаю. Но я готов учиться.
bac0n avatar
флаг cn
вместо этого используйте функцию.
Terence Golightly avatar
флаг in
Привет @ bac0n, я раньше не использовал / не устанавливал функцию. Не уверен, как это может выглядеть.
bac0n avatar
флаг cn
функция используется почти так же, как `pkexec(){ command pkexec env ... ... "$@"; }` вы можете использовать `command`, как я сделал, или полный путь к реальной команде pkexec, иначе вы получите состояние гонки.
muru avatar
флаг us
Вам нужно `;` перед закрытием `}`, если вы поместите определение функции в одну строку: https://askubuntu.com/a/521943/158442

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.