Автор Тема: RuleUser / Портирование на GTK3  (Прочитано 31808 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #30 : 28.09.2019 12:59:23 »
По правде говоря с VNC сталкиваюсь впервые. Посмотрел тут. На ученическом компьютере не было установлено x11vnc-service. Установил. Запустил. Он там во время запуска попросил создать пароли. Создал. Через vncviewer с учительского компьютера заходит но просит пароль, а в ruleuser куда этот пароль писать?
Вообще в RuleUser по умолчанию работает VNC over SSH, пароль вводить не нужно. Но там ниже форма вроде есть для ввода пароля, но её плохо видно из-за некорректного отображения компонентов на форме. Поэтому точно не подскажу, я раньше всегда через SSH подключался. Только я не понял, вы говорите "заходит, но просит пароль", то есть всё нормально показывает ?

И так, на машине с RuleUser открыть туннель:
ssh -L 5900:localhost:5900 student@192.168.0.106Затем на клиенте запустить:
x11vnc -bg -localhost -forever -shared -quiet -rfbport 5900 -display :0 -loop -noxdamage -defer 3000 -loopТеперь снова на машине с RuleUser выполнить:
vncviewer localhost:0
« Последнее редактирование: 28.09.2019 13:06:01 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #31 : 28.09.2019 13:13:25 »
С последними исправлениями.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #32 : 28.09.2019 20:29:28 »
при наведении на окно клиента, оно становится серым, но на нажатия реагирует
нижний тулбар с кнопками добавить/удалить клиентов и т.д. имеет большой padding, причём не везде
Исправлено.
Убрал этот серый фон, заодно надеюсь, что поправил перетаскивание окон.
Тулбар расползался из-за кнопок вверх/вниз, расположенных друг над другом, победить не удалось, поэтому пришлось сделать их рядом. Но пока перемещение клиентов в списке не работает, не удалось на данный момент понять как это исправить.

А вот с этим совсем беда:
главное окно программы почему-то всегда появляется в левом верхнем углу
вообще всё что находится в окне window2, выглядит кривовато и требует доработки
Вроде первое должно быть легко, но я не могу найти в коде, что вынуждает окно прижиматься в левый верхний угол.
Со вторым такая же фигня, непонятно, что вообще заставляет форму выделять фиксированное пространство в ширину для расширяющейся области справа.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #33 : 28.09.2019 21:50:36 »
Можно я сегодня вечером гляну код. Просто там есть изменения, которые я у себя вносил для поддержки кое-какрго оборудования и настроек. Я сразу напишу сюда
Ну принципиально разницы то нет, всё равно мне rebase делать, я так понял ?
Быть может у вас совсем незначительные изменения и в этом случае их лучше в отдельный бранч, а я потом могу адаптировать их под новый код ? Просто я подумал, что rebase может оказаться делать сложней, чем вставить незначительный код поверх нового. Да даже просто cherry-pick будет проще выполнить, возможно.
Сноси Винду, переходи на Линукс ! :)

Оффлайн goodluck

  • Участник
  • *
  • Сообщений: 90
Re: RuleUser / Портирование на GTK3
« Ответ #34 : 28.09.2019 22:46:00 »
Только я не понял, вы говорите "заходит, но просит пароль", то есть всё нормально показывает?
Когда я терминале на учительском компьютере набираю vncviewer 192.168.0.106 то он запрашивает пароль, после ввода которого я могу управлять клиентским компьютером. Но для этого как я уже писал мне пришлось на ученическом компьютере установить x11vnc-service. Без него вообще никак не заходит. Помимо того, что тянет за собой ruleuser, что-то еще нужно для нормальной работы?
Затем на клиенте запустить:
x11vnc -bg -localhost -forever -shared -quiet -rfbport 5900 -display :0 -loop -noxdamage -defer 3000 -loop
Выдало сообщение как на скрине
Теперь снова на машине с RuleUser выполнить:
vncviewer localhost:0
[alex@alex-desktop ~]$ vncviewer localhost:0
vncviewer: ConnectToTcpAddr: connect: Connection refused
Unable to connect to VNC server

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #35 : 28.09.2019 23:30:10 »
Помимо того, что тянет за собой ruleuser, что-то еще нужно для нормальной работы?
Нет, всё должен притянуть ruleuser или ruleuser-client.

Может просто порт занят ? x11vnc-service же погашен ? Попробуйте другой порт указать в туннеле и в x11vnc.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #36 : 29.09.2019 10:50:59 »
Поправил позиционирование элементов на форме, теперь окно справа выглядит лучше.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #37 : 29.09.2019 16:58:30 »
Вижу в коде некоторое количество схожих конструкций:
    def stop(self, data=None):
        model, rows = self.treeDemoSelection.get_selected_rows()
        if rows == []:
            return

        temp_iter = []
        for row in rows:
            # Исключить клиентов выделенных групп
            if len(row) == 2 and (row[0],) in rows:
                continue
            iter = model.get_iter(row)
            temp_iter.append(iter)

        for iter in temp_iter:
            if len(model.get_path(iter)) == 1:
                self.stop_server(model, iter)
            elif len(model.get_path(iter)) == 2:
                self.stop_client(model, iter)

Проблему вызывает строка:
if len(row) == 2 and (row[0],) in rows:
Ругань на неё идёт соответствующая:
TypeError: argument b: Expected Gtk.TreePath, but got tuple

Что это вообще значит ?
Аргумент b - это стало быть выражение:
(row[0],) in rows
?

Ну у меня только предложение обернуть это так:
if len(row) == 2 and Gtk.TreePath(row[0]) in rows:
При этом ругань пропадает, но чувствую, что это неправильный подход.

Есть у кого какие-то мысли ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #38 : 29.09.2019 17:08:06 »
Хотя на самом деле, что row, что rows и так являются Gtk.TreePath.
Короче меня больше сбивает с толку эта непонятна проверка:
(row[0],) in rows:
Мне не понятна такая запись...
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #39 : 01.10.2019 16:44:52 »
Исправлено.

Обновлю список известных проблем:
  • не изменяется/переключается размер миниатюры с изображением рабочего стола клиента, всегда в полном размере отображается, причём без изображения клиента окно клиента нормально меняет размеры
  • автоматическое обновление данных о доступности клиента, зелёная пулька не меняется при отключении клиента
  • размер окна демонстрации больше разрешения экрана клиента, изображение на клиенте выглядит растянутым, либо сплющенным
  • блокировка ввода при демонстрации похоже не реализована, так как её нет на данный момент
  • жёсткая привязка к командам DE (отправить сообщение, блокировать экран, разблокировать экран, завершить сеанс) в коде, возможность есть смысл дать пользователю самому указывать эти команды

Мне кажется, вполне можно уже софт отправлять в Сизиф, в целом основной набор функций работает, за исключением первой проблемы, конечно. :-)
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #40 : 01.10.2019 16:53:05 »
размер окна демонстрации больше разрешения экрана клиента, изображение на клиенте выглядит растянутым, либо сплющенным
Зато трансляция видео-файла на клиентов работает замечательно! ;-)
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #41 : 01.10.2019 17:02:59 »
Но это я через VLC проверял, через VNC, наверно, можно настроить.
Сноси Винду, переходи на Линукс ! :)

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
Re: RuleUser / Портирование на GTK3
« Ответ #42 : 01.10.2019 17:15:34 »
Можно я сегодня вечером гляну код. Просто там есть изменения, которые я у себя вносил для поддержки кое-какрго оборудования и настроек. Я сразу напишу сюда
Ну принципиально разницы то нет, всё равно мне rebase делать, я так понял ?
Быть может у вас совсем незначительные изменения и в этом случае их лучше в отдельный бранч, а я потом могу адаптировать их под новый код ? Просто я подумал, что rebase может оказаться делать сложней, чем вставить незначительный код поверх нового. Да даже просто cherry-pick будет проще выполнить, возможно.
На самом деле, я смотрю тут много изменений и так. Я смогу потом интегрировать свои. Главное, чтобы всё работало в том, что делается сейчас. Не надо на меня тогда оглядываться. Отлаживайте, а потом я уже добавлю, немного кода в уже работающий проект. Так действительно будет лучше

Оффлайн goodluck

  • Участник
  • *
  • Сообщений: 90
Re: RuleUser / Портирование на GTK3
« Ответ #43 : 05.10.2019 22:16:51 »
А если выскакивает такое сообщение это нормально?

Автозапуск x11vnc не работает у меня. Когда на клиенте запускаю тогда подключается вроде. Иначе нет.

Команда для запуска у меня такая
x11vnc -noxdamage -defer 3000 -loop
« Последнее редактирование: 05.10.2019 22:46:12 от goodluck »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: RuleUser / Портирование на GTK3
« Ответ #44 : 06.10.2019 09:50:40 »
А если выскакивает такое сообщение это нормально?
Вы парольную фразу вводили при генерации ключа ?

Автозапуск x11vnc не работает у меня. Когда на клиенте запускаю тогда подключается вроде. Иначе нет.
Может быть какие-то ошибки есть в журнале ?
Если на другой стороне LightDM, то выполнили эти требования https://forum.altlinux.org/index.php?topic=43054.msg342453#msg342453 ?
Сноси Винду, переходи на Линукс ! :)