& Ldquo; Несанкционированное & Rdquo; ошибка при добавлении принтеров через CUPS с использованием Google Chrome в Ubuntu 18.04 LTS [закрыт]

Каждый открываемый вами терминал получает файл с уникальным номером (например, псевдотерминальное подчиненное устройство (PTS)) в /dev/pts/, с которым его можно распознать и устранить. Чтобы получить соответствующее имя файла в терминальном окне, вы можете использовать, например. tty (см. этот ответ для альтернатив, прочитайте man pts для более):

$ tty
/dev/pts/4

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

$ echo test >/dev/pts/4  # run anywhere
test                     # printed in terminal window 4

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

echo test /dev/pts/4

Если вы хотите отобразить команду, Я также рекомендовал написать функцию (как использовать $ * при отсутствии определенных входных переменных, таких как $ 1 и $ 2 в bash-скрипте?), например:

run_in(){
  t=/dev/pts/$1 &&
  echo "${*:2}" >$t &&
  eval "${@:2}" <$t &>$t
}

В одной строке:

run_in(){ t=/dev/pts/$1&&echo "${*:2}" >$t&&eval "${@:2}" <$t &>$t;}

Используйте его так:

$ run_in 4 echo test  # run anywhere
$ echo test           # printed in terminal window 4 (if prompt was already there)
test                  # printed in terminal window 4

В этом случае единственными неизвестными являются номера /dev/pts/?, которые должна использовать ваша программа Python. Одним из возможных способов получить эти числа является запуск ваших собственных окон терминала, которые выводят их «числа» в файл, после чего вы сможете прочитать его [ref]. Предположим, вы используете gnome-terminal, соответствующая часть кода Python может быть чем-то вроде [ref]:

#!/usr/bin/python
import os
import subprocess

os.system("gnome-terminal -x bash -c 'tty > /tmp/my-app-tty-1; exec bash'")
my_terminal_1 = subprocess.Popen(["cat", "/tmp/my-app-tty-1"], stdout=subprocess.PIPE).communicate()[0]
command = "echo Test on: $(date) >" + my_terminal_1
print my_terminal_1
print command
os.system(command)

Если это скрипт Perl [ref] [!d10 ]

#!/usr/bin/perl
os.system("gnome-terminal -x bash -c 'tty > /tmp/my-app-tty-1; exec bash'");
my $my_terminal_1 = `cat /tmp/my-app-tty-1`;
my $command = "echo Test on: \$\(date\) > $my_terminal_1";
print ("$my_terminal_1");
print ("$command");
os.system("$command");

13
задан 7 May 2018 в 08:10

4 ответа

TL; DR Перейдите в http: // localhost: 631 / admin / login, чтобы разрешить вводить ваше имя пользователя и пароль для доступа к настройкам CUPS.

Чтобы добавить свой принтер через Chrome выполните следующие шаги:

Сначала перейдите на страницу администрирования CUPS, щелкнув вкладку в своем браузере с http: // localhost: 631

http : // localhost: 631 / admin / login

Сначала перейдите на страницу администрирования CUPS, щелкнув вкладку в своем браузере с http: // localhost: 631 6]

Добавьте login в конец адреса в адресной строке, а затем нажмите enter:

[ ! d18] Добавьте login в конец адреса в адресной строке, а затем нажмите enter:

enter image description here

Вернитесь к «Добавить принтер» и выберите свой принтер и продолжите установку:

enter image description here

Вернитесь к «Добавить принтер» и выберите свой принтер и продолжите установку здесь: [!d 27]

Надеюсь, это поможет!

11
ответ дан 22 May 2018 в 10:56
  • 1
    Для решения этой проблемы мне всегда приходилось использовать другой браузер. Отличная информация. Наверняка. – L. D. James 6 May 2018 в 21:06
  • 2
    Да, похоже, это работает, но я не могу просто изменить параметры принтера. Я вернул страницу «Не разрешено». хотя я могу добавить принтеры !!! – solsTiCe 8 May 2018 в 13:03
  • 3
    Ну, я использовал gnome-control-center, чтобы сделать это наконец – solsTiCe 8 May 2018 в 13:14
  • 4
    @solsTiCe Да, я думаю, что это ошибка между ними. Я тоже не могу управлять самим принтером. Тем не менее, я обнаружил, что, когда я добавляю принтер через CUPS таким образом, независимо от браузера, приложения в Wine фактически будут видеть и использовать принтер. – Terrance 8 May 2018 в 16:05
  • 5
    @solsTiCe Я подал отчет об ошибке в bugs.launchpad.net/ubuntu/+source/cups/+bug/1769893 – Terrance 8 May 2018 в 16:28

EDIT: закончено заполнение отчета об ошибке на этом, поскольку все еще есть области, которые не работают, используя метод ниже. Он просто не сохраняет информацию входа с вкладки на вкладку во время настройки или конфигурации. https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1769893

EDIT: Перейти к https : //bugs.launchpad.net/ubuntu/+source/cups/+bug/1769893 , чтобы разрешить вводить ваше имя пользователя и пароль для доступа к настройкам CUPS.

Чтобы добавить принтер через Chrome, выполните следующие действия:

Сначала перейдите на страницу администрирования CUPS, щелкнув вкладку в своем браузере с http: // localhost: 631 Нажмите кнопку «Добавить принтер» , Вы должны получить Unauthorized: Добавить login в конец адреса в адресной строке, а затем нажать enter: Введите свое имя пользователя и пароль: вернитесь к «Добавить принтер» и выберите свой принтер и продолжите установку здесь: ваш принтер должен Добавлено:

Надеюсь, это поможет!

13
ответ дан 17 July 2018 в 15:03

EDIT: закончено заполнение отчета об ошибке на этом, поскольку все еще есть области, которые не работают, используя метод ниже. Он просто не сохраняет информацию входа с вкладки на вкладку во время настройки или конфигурации. https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1769893

EDIT: Перейти к https : //bugs.launchpad.net/ubuntu/+source/cups/+bug/1769893 , чтобы разрешить вводить ваше имя пользователя и пароль для доступа к настройкам CUPS.

Чтобы добавить принтер через Chrome, выполните следующие действия:

Сначала перейдите на страницу администрирования CUPS, щелкнув вкладку в своем браузере с http: // localhost: 631 Нажмите кнопку «Добавить принтер» , Вы должны получить Unauthorized: Добавить login в конец адреса в адресной строке, а затем нажать enter: Введите свое имя пользователя и пароль: вернитесь к «Добавить принтер» и выберите свой принтер и продолжите установку здесь: ваш принтер должен Добавлено:

Надеюсь, это поможет!

14
ответ дан 20 July 2018 в 15:28

EDIT: закончено заполнение отчета об ошибке на этом, поскольку все еще есть области, которые не работают, используя метод ниже. Он просто не сохраняет информацию входа с вкладки на вкладку во время настройки или конфигурации. https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1769893

EDIT: Перейти к https : //bugs.launchpad.net/ubuntu/+source/cups/+bug/1769893 , чтобы разрешить вводить ваше имя пользователя и пароль для доступа к настройкам CUPS.

Чтобы добавить принтер через Chrome, выполните следующие действия:

Сначала перейдите на страницу администрирования CUPS, щелкнув вкладку в своем браузере с http: // localhost: 631 Нажмите кнопку «Добавить принтер» , Вы должны получить Unauthorized: Добавить login в конец адреса в адресной строке, а затем нажать enter: Введите свое имя пользователя и пароль: вернитесь к «Добавить принтер» и выберите свой принтер и продолжите установку здесь: ваш принтер должен Добавлено:

Надеюсь, это поможет!

14
ответ дан 23 July 2018 в 16:00

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

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