Автор Тема: AnyDesk  (Прочитано 4873 раз)

Оффлайн karp

  • Давно тут
  • **
  • Сообщений: 63
AnyDesk
« : 19.12.2020 15:10:13 »
Здравствуйте!

Нашёл https://www.altlinux.org/AnyDesk, сделал, как написано (p9), но возникла проблема: я до сих пор не перебрался под systemd, а в пакете нет скрипта для init.d. Это бы полбеды, т.к. написать его нетрудно -- фактически надо запустить просто anydesk --service. Но такой запуск от root вызывает только окошко со словами, что не надо запускать anydesk от root, а то хуже будет (перевод вольный, но смысл сохранён). Но от кого тогда запускать службу? Как это разруливается в systemd я не знаю, скрипт для systemd выглядит так:

# cat /etc/systemd/system/anydesk.service
[Unit]
Description=AnyDesk
Requires=network.target
After=systemd-user-sessions.service

[Service]
Type=simple
ExecStart=/usr/bin/anydesk --service
PIDFile=/var/run/anydesk.pid
KillMode=mixed
TimeoutStopSec=30
User=root
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Просто anydesk от пользователя из группы wheel запускается и работает в обе стороны, но хочется всё же службу.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 627
Re: AnyDesk
« Ответ #1 : 19.12.2020 18:07:19 »
дак заведите юзера отдельного под это дело.

посмотрите примеры где запускают под сторонним юзером, например
#!/bin/sh
# Init file for Intranet Chat server daemon
#
# chkconfig: 2345 55 25
# description: Intranet Chat server daemon
#
# processname: ichatsrvd.bin
# pidfile: /var/run/ichatsrvd/ichatsrvd.pid

# source function library

. /etc/rc.d/init.d/functions

SourceIfNotEmpty /etc/sysconfig/svnserve

PIDFILE=/var/run/ichatsrvd/ichatsrvd.pid
LOCKFILE=/var/lock/subsys/ichatsrvd
CHECKTIME=60

# See how we were called.
case "$1" in
  start)
        # Start daemon.
        start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --user ichat --expect-user ichat  -- /usr/sbin/ichatsrvd.bin || failure
        ;;
  stop)
        # Stop daemon.
        echo -n "Shutting down ichatsrvd: "
        stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user ichat -- /usr/sbin/ichatsrvd.bin || failure
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  condrestart)
        if [ -e "$LOCKFILE" ]; then
        $0 restart
        fi
        ;;
  status)
        status --pidfile "$PIDFILE" --expect-user ichat --name ichatsrvd.bin -- /usr/sbin/ichatsrvd.bin
        ;;
  *)
        echo "Usage: ichatsrvd {start|stop|restart|condrestart|status}"
        exit 1
esac

exit 0

Оффлайн karp

  • Давно тут
  • **
  • Сообщений: 63
Re: AnyDesk
« Ответ #2 : 19.12.2020 18:25:23 »
дак заведите юзера отдельного под это дело.
Я уже думал об этом -- можно попробовать создать юзера даже с nologin. Но странно то, что в скрипте для systemd значится user=root, и проблем это не вызывает -- во всяком случае никто не жалуется.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 627
Re: AnyDesk
« Ответ #3 : 19.12.2020 20:37:04 »
Я уже думал об этом -- можно попробовать создать юзера даже с nologin. Но странно то, что в скрипте для systemd значится user=root, и проблем это не вызывает -- во всяком случае никто не жалуется.

да им просто пофиг... это же системд... костыль на костыле, перевязанные синей изолентой...


Оффлайн karp

  • Давно тут
  • **
  • Сообщений: 63
Re: AnyDesk
« Ответ #4 : 19.12.2020 22:34:23 »
    дак заведите юзера отдельного под это дело.

Я уже думал об этом -- можно попробовать создать юзера даже с nologin

Не тут-то было. :-( Запуск anydesk --service от пользователя ни к чему не приводит: не ругается, но и никаких следов не остаётся. Впрочем, трудно было бы ожидать иного. А для запуска anydesk без --service нужна графическая оболочка, чтобы открыть окно программы. Создавать пользователя для запуска, да ещё и постоянно залогиненного в графике -- это слишком.

Оффлайн YYY

  • Мастер
  • ***
  • Сообщений: 5 627
Re: AnyDesk
« Ответ #5 : 20.12.2020 11:23:39 »

а почему не хотите "anydesk --service" запихнуть в автозагрузку юзера?

в любом случае если нет активных юзеров в иксах, то сервис бесполезен...



Оффлайн karp

  • Давно тут
  • **
  • Сообщений: 63
Re: AnyDesk
« Ответ #6 : 20.12.2020 13:34:12 »
а почему не хотите "anydesk --service" запихнуть в автозагрузку юзера?

в любом случае если нет активных юзеров в иксах, то сервис бесполезен...

Да, видимо должен быть пользователь, id будет выдано на этого пользователя. У другого юзера будет другой anydesk-id. Это м.б. даже и удобнее в данном случае, когда пользователей мало.

Только запускать в этом случае надо просто anydesk, без --service. Программа запускается и работает и клиентом и сервером.

Оффлайн aleksey-v.

  • Давно тут
  • **
  • Сообщений: 244
Re: AnyDesk
« Ответ #7 : 23.12.2020 19:34:18 »
Простите, не совсем по теме, какие-нибудь другие решения для удалённой поддержки пробовали?
Самое простое, наверное, Chrome Remote Desktop.

Оффлайн karp

  • Давно тут
  • **
  • Сообщений: 63
Re: AnyDesk
« Ответ #8 : 23.12.2020 21:24:51 »
Простите, не совсем по теме, какие-нибудь другие решения для удалённой поддержки пробовали?
Самое простое, наверное, Chrome Remote Desktop.

Я много лет использовал TeamViewer, но совсем недавно они отказались от совместимости с предыдущей веткой версия (14.x), а для меня это критично, т.к. исключает работу под WinXP. Перейти на более новую новую версию Win нельзя, т.к. подключённое к компам оборудование ещё работает по NetBEUI, а этот протокол не работает нигде новее XP. AnyDesk работает пока везде.

Что касается Google Remote Desktop, то там думаю, что та же проблема с XP вылезет, но я мне ещё раньше не понравилось масштабирование экрана -- если с маленького экрана ноутбука подключаться к большому стационарному экрану, то всё очень мелко, а каждый раз перестраивать всё для работы на месте и удалённо очень муторно. У TV и AnyDesk с этим как-то лучше.

Оффлайн rabochyITs

  • Давно тут
  • **
  • Сообщений: 747
  • Евгений
Re: AnyDesk
« Ответ #9 : 24.12.2020 08:53:46 »
$ rpm -qpl ./anydesk-6.0.1-1.el8.x86_64.rpm
Цитировать
/etc/systemd/system/anydesk.service
/etc/xdg/autostart/anydesk.desktop
/usr/bin/anydesk
/usr/lib64/anydesk
/usr/lib64/anydesk/libgdkglext-x11-1.0.so.0
/usr/lib64/anydesk/libgdkglext-x11-1.0.so.0.0.0
/usr/lib64/anydesk/libgtkglext-x11-1.0.so.0
/usr/lib64/anydesk/libgtkglext-x11-1.0.so.0.0.0
/usr/lib64/anydesk/libpangox-1.0.so.0
/usr/lib64/anydesk/libpangox-1.0.so.0.0.0
/usr/libexec/anydesk
/usr/share/applications/anydesk.desktop
/usr/share/doc/anydesk-6.0.1
/usr/share/doc/anydesk-6.0.1/BUNDLED-LIBS
/usr/share/doc/anydesk-6.0.1/COPYING.LIB.gtkglext
/usr/share/doc/anydesk-6.0.1/COPYING.pangox-compat
/usr/share/doc/anydesk-6.0.1/copyright
/usr/share/icons/hicolor/16x16/apps/anydesk.png
/usr/share/icons/hicolor/24x24/apps/anydesk.png
/usr/share/icons/hicolor/256x256/apps/anydesk.png
/usr/share/icons/hicolor/32x32/apps/anydesk.png
/usr/share/icons/hicolor/48x48/apps/anydesk.png
/usr/share/icons/hicolor/scalable/apps/anydesk.svg
/usr/share/man/man1/anydesk.1.gz
/usr/share/pixmaps/anydesk.png
/usr/share/pixmaps/anydesk.xpm
/usr/share/polkit-1/rules.d/com.philandro.anydesk.policy
Может оставить в покое anydesk.service и положить в нужное место anydesk.desktop? Точно  не знаю, но наверно так возможно.

Оффлайн tarasov-it1

  • Давно тут
  • **
  • Сообщений: 25
Re: AnyDesk
« Ответ #10 : 22.05.2021 19:13:37 »
Простите, не совсем по теме, какие-нибудь другие решения для удалённой поддержки пробовали?
Самое простое, наверное, Chrome Remote Desktop.
А где взять rpm для Chrome Remote Desktop? При попытке установки скачивается deb. 

Оффлайн gosts 87

  • Давно тут
  • **
  • Сообщений: 992
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: AnyDesk
« Ответ #11 : 22.05.2021 20:16:35 »
А где взять rpm для Chrome Remote Desktop? При попытке установки скачивается deb. 
https://support.google.com/chrome/thread/8016686/is-it-possible-to-make-chrome-remote-desktop-work-in-a-rpm-based-linux?hl=en

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 578
Re: AnyDesk
« Ответ #12 : 23.05.2021 11:19:47 »
Нашёл https://www.altlinux.org/AnyDesk, сделал, как написано (p9), но возникла проблема: я до сих пор не перебрался под systemd, а в пакете нет скрипта для init.d.

Он есть в пакете fedora, но лежит не там где должен, для init в RH-подобных
$ rpm -qpvl ./anydesk_6.1.1-1_x86_64.rpm | grep init/
-rw-r--r--    1 root    root                     1674 апр 13 14:05 /usr/share/anydesk/files/init/anydesk

Просто anydesk от пользователя из группы wheel запускается и работает в обе стороны, но хочется всё же службу.

Для пакета fedora, нужен инсталл-метапакет,
$ rpm -qpi ./anydesk_6.1.1-1_x86_64.rpm | grep ^License
License     : Proprietary

с зависимостями на lsb-release libgtkglext libminizip.
И в постинсталл скриптах метапакета, копировать файл этого инит-скрипта fedora в /etc/init.d с включением exec-бита. Ну и chkconfig в довесок пост-интсталл скриптом.

И начиная с p7, для систем на sysv нужен рулез
polkit.addRule(function(action, subject) {
    if (action.id == "com.anydesk.anydesk" && subject.isInGroup("wheel") )
    {
                return polkit.Result.YES;
    }
});

в
# cat /etc/polkit-1/rules.d/60-anydesk.rules

или в
# cat /usr/share/polkit-1/rules.d/60-anydesk.rules

Но с последним FHS, они хрен мигрировали на /run:
$ rpm -qpi ./anydesk_6.1.1-1_x86_64.rpm | grep '^Name\|^Vers\|^Build Date'
Name        : anydesk
Version     : 6.1.1
Build Date  : Вт 13 апр 2021 14:08:18
$ grep var/ ./usr/share/anydesk/files/init/anydesk
PIDFILE=/var/run/$NAME.pid

Оффлайн tarasov-it1

  • Давно тут
  • **
  • Сообщений: 25
Re: AnyDesk
« Ответ #13 : 25.05.2021 22:11:23 »
https://support.google.com/chrome/thread/8016686/is-it-possible-to-make-chrome-remote-desktop-work-in-a-rpm-based-linux?hl=en
Я это читал и находил через rpmfind.net пакеты из Федоры, но ведь ставить rpm из других дистрибутивов крайне не рекомендуется.

Оффлайн gosts 87

  • Давно тут
  • **
  • Сообщений: 992
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: AnyDesk
« Ответ #14 : 25.05.2021 23:07:00 »
Я это читал и находил через rpmfind.net пакеты из Федоры, но ведь ставить rpm из других дистрибутивов крайне не рекомендуется.
А он скорее-всего не установится, федоровскому пакету могут потребоваться зависимости, которых в Альте нет. Однако такой пакет можно перепаковать и вот после этой операции он может установиться без проблем.
« Последнее редактирование: 25.05.2021 23:08:54 от gosts 87 »