Автор Тема: Проблемы с принтером по умолчанию в самосборном питоне.  (Прочитано 1039 раз)

Оффлайн Vady

  • Завсегдатай
  • *
  • Сообщений: 106
Столкнулся с такой проблемой: есть в сети несколько принтеров, пользователи работают в терминальном режиме, поэтому на сервере настроены несколько принтеров.
1-й принтер обозначен как “общесистемный” по умолчанию.
2-й принтер обозначен как по умолчанию “для текущего пользователя”.
Вот запускаю LibreOffice, там по умолчанию стоит второй принтер, что есть правильно.
Запускаю свою программу на самосборном питоне2.7 (родной для ОС - 2.6), почему-то каждый раз выбирает первый. Как вызвать принтер по умолчанию для текущего пользователя?
ОС - АльтЛинукс СПТ 6.0, среда - GNOME 2.

Задачка выглядит так: есть терминальный сервер. И множество пользователей. У каждого пользователя свой принтер.
Ivanov - PrinterHP1
Petrov - PrinterHP2
Sidorov - PrinterXerox1
Общесистемный по умолчанию - PrinterHP1. По умолчанию для каждого пользователя - согласно таблицы выше.
И часто принтеры и “тонкие клиенты” меняем в случае поломки. Выбранный принтер должен зависеть только от системных настроек.

Запустил следующим скриптом (заголовок файла - см. ниже):
from PyQt4 import QtGui
import sys
 
class Window(QtGui.QWidget):
 
    def __init__(self):
        super().__init__()
        self.init_ui()
 
    def init_ui(self):
 
        p = QtGui.QPrinter()
        print(p.printerName())
        print(p.isValid())
 
        p.setPrinterName('x')
        print(p.printerName())
        print(p.isValid())
 
        self.setGeometry(800, 550, 250, 150)
        self.setWindowTitle('Title')
        self.show()
 
def main():
    app = QtGui.QApplication(sys.argv)
    ex = Window()
    sys.exit(app.exec_())
 
if __name__ == '__main__':
    main()

Запустил с заголовком:
#!/usr/bin/env pythonПолучил:
$ ./printer.py
Brother-HL-2035-2
True
x
False
Выбран нужный принтер! Родной питон - 2,6

Запустил с заголовком:
#!/usr/bin/env /usr/local/bin/pythonПолучил:
$ ./printer.py
Brother-HL-2035
True
x
False
Выбран не тот принтер. Питон - 2.7, причем не родной, а собран из исходников. И Qt4 тоже, с более новой версией.
Как исправить? Искать в переменных окружения или надо пересобирать питон с каким-то ключом?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
А что выдают:
cat ~/.cups/lpoptions
cat /etc/cups/lpoptions
lpstat -t

Оффлайн Vady

  • Завсегдатай
  • *
  • Сообщений: 106
А что выдают:
cat ~/.cups/lpoptions
cat /etc/cups/lpoptions
lpstat -t

[vady@SERVER pub]$ cat ~/.cups/lpoptions
Default Brother-HL-2035-2
[vady@SERVER pub]$ cat /etc/cups/lpoptions
Default Brother-HL-2035
У вас есть почта в /var/mail/vady
[vady@SERVER pub]$ lpstat -t
планировщик запущен
назначение системы по умолчанию: Brother-HL-2035-2
члены класса users:
Brother-HL-2035-2
Brother-HL-2035
устройство для Brother-HL-2035-2: smb://*.*.*.*/Brother2
устройство для Brother-HL-2035: smb://*.*.*.*/Brother
Brother-HL-2035-2 принимает запросы с момента Срд 04 Июн 2014 14:28:40
Brother-HL-2035 принимает запросы с момента Чтв 25 Июн 2015 15:17:36
users принимает запросы с момента Срд 04 Июн 2014 14:26:52
принтер Brother-HL-2035-2 свободен. Включен с момента Срд 04 Июн 2014 14:28:40
принтер Brother-HL-2035 свободен. Включен с момента Чтв 25 Июн 2015 15:17:36
Как я вижу, мой самосборный питон2,7 берет данные не из пользовательского окружения ~/, а из глобального.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
самосборный питон2,7 берет данные не из пользовательского окружения ~/
Ищите в исходниках, может при его сболрке надо какой-нибудь ключ указать.

Оффлайн Vady

  • Завсегдатай
  • *
  • Сообщений: 106
самосборный питон2,7 берет данные не из пользовательского окружения ~/
Ищите в исходниках, может при его сболрке надо какой-нибудь ключ указать.
Вот и ищу какой именно...

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Ну, это надо grep-нуть исходники, а не на форуме спрашивать :-)