mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 17:50:29 +08:00
初步整合:
1. python 内置服务器 2. 将配置文件统一目录
This commit is contained in:
parent
5db37797ea
commit
d5a0b1a8b3
@ -1,19 +0,0 @@
|
||||
[bumpversion]
|
||||
commit = True
|
||||
tag = True
|
||||
current_version = 4.20
|
||||
parse = (?P<major>\d+)\.(?P<minor>\d+)(\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?)?
|
||||
serialize =
|
||||
{major}.{minor}
|
||||
|
||||
[bumpversion:file:kvmd/__init__.py]
|
||||
search = __version__ = "{current_version}"
|
||||
replace = __version__ = "{new_version}"
|
||||
|
||||
[bumpversion:file:setup.py]
|
||||
search = version="{current_version}"
|
||||
replace = version="{new_version}"
|
||||
|
||||
[bumpversion:file:PKGBUILD]
|
||||
search = pkgver={current_version}
|
||||
replace = pkgver={new_version}
|
||||
@ -1,10 +0,0 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
end_of_file = lf
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
[*.{py,yaml}]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -21,3 +21,6 @@
|
||||
/venv/
|
||||
.vscode/settings.j/son
|
||||
kvmd_config/
|
||||
__pycache__/
|
||||
kvmd_data/run/kvmd/*
|
||||
.vscode/
|
||||
|
||||
23
Makefile
23
Makefile
@ -294,6 +294,13 @@ run-build-dev:
|
||||
-f build/Dockerfile . \
|
||||
--push
|
||||
|
||||
run-build-new:
|
||||
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd:dev \
|
||||
--platform linux/amd64 \
|
||||
--build-arg CACHEBUST=$(date +%s) \
|
||||
-f build/Dockerfile . \
|
||||
--load
|
||||
|
||||
run-build-release:
|
||||
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd \
|
||||
--progress plain \
|
||||
@ -342,4 +349,18 @@ run-nogpio: testenv
|
||||
&& python -m kvmd.apps.ngxmkconf /etc/kvmd/nginx/nginx.conf.mako /etc/kvmd/nginx/nginx.conf \
|
||||
&& nginx -c /etc/kvmd/nginx/nginx.conf -g 'user http; error_log stderr;' \
|
||||
&& $(if $(CMD),$(CMD),python -m kvmd.apps.kvmd --run) \
|
||||
"
|
||||
"
|
||||
nuitka:
|
||||
python -m nuitka kvmd-test.py --standalone --onefile --no-deployment-flag=self-execution --include-module=\
|
||||
kvmd.plugins.auth.htpasswd,kvmd.plugins.auth.http,kvmd.plugins.auth.ldap,\
|
||||
kvmd.plugins.auth.pam,kvmd.plugins.auth.radius,\
|
||||
kvmd.plugins.hid.ch9329,kvmd.plugins.hid.bt,kvmd.plugins.hid.otg,\
|
||||
kvmd.plugins.atx.disabled,kvmd.plugins.atx.gpio,\
|
||||
kvmd.plugins.msd.disabled,kvmd.plugins.msd.otg,\
|
||||
kvmd.plugins.ugpio.gpio,kvmd.plugins.ugpio.wol,kvmd.plugins.ugpio.cmd,\
|
||||
kvmd.plugins.ugpio.ipmi,kvmd.plugins.ugpio.anelpwr,kvmd.plugins.ugpio.cmdret,\
|
||||
kvmd.plugins.ugpio.extron,kvmd.plugins.ugpio.ezcoo,kvmd.plugins.ugpio.hidrelay,\
|
||||
kvmd.plugins.ugpio.hue,kvmd.plugins.ugpio.locator,kvmd.plugins.ugpio.noyito,\
|
||||
kvmd.plugins.ugpio.otgconf,kvmd.plugins.ugpio.pway,kvmd.plugins.ugpio.pwm,\
|
||||
kvmd.plugins.ugpio.servo,kvmd.plugins.ugpio.tesmart,kvmd.plugins.ugpio.xh_hk4401,\
|
||||
passlib.handlers.sha1_crypt,pygments.formatters.terminal
|
||||
@ -30,23 +30,9 @@ RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.lis
|
||||
RUN if [ ${TARGETARCH} = arm ]; then ARCH=armhf; elif [ ${TARGETARCH} = arm64 ]; then ARCH=aarch64; elif [ ${TARGETARCH} = amd64 ]; then ARCH=x86_64; fi \
|
||||
&& curl https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.$ARCH -L -o /usr/local/bin/ttyd \
|
||||
&& chmod +x /usr/local/bin/ttyd \
|
||||
&& adduser kvmd --gecos "" --disabled-password \
|
||||
&& ln -sf /usr/share/tesseract-ocr/*/tessdata /usr/share/tessdata \
|
||||
&& mkdir -p /etc/kvmd_backup/override.d /var/lib/kvmd/msd/images /var/lib/kvmd/msd/meta /var/lib/kvmd/pst/data /var/lib/kvmd/msd/NormalFiles /opt/vc/bin /run/kvmd /tmp/kvmd-nginx \
|
||||
&& touch /run/kvmd/ustreamer.sock
|
||||
&& ln -sf /usr/share/tesseract-ocr/*/tessdata /usr/share/tessdata
|
||||
|
||||
|
||||
COPY testenv/fakes/vcgencmd scripts/kvmd* /usr/bin/
|
||||
COPY extras/ /usr/share/kvmd/extras/
|
||||
COPY web/ /usr/share/kvmd/web/
|
||||
COPY scripts/kvmd-gencert /usr/share/kvmd/
|
||||
COPY build/platform/docker /usr/share/kvmd/platform
|
||||
COPY contrib/keymaps /usr/share/kvmd/keymaps
|
||||
COPY kvmd/ build/init.sh /kvmd/
|
||||
COPY configs/kvmd/ /etc/kvmd_backup/
|
||||
COPY configs/nginx/ /etc/kvmd_backup/nginx/
|
||||
COPY configs/janus/ /etc/kvmd_backup/janus/
|
||||
COPY configs/hw_info/ /etc/kvmd_backup/hw_info/
|
||||
COPY testenv/js/ /usr/share/janus/javascript/
|
||||
COPY . /One-KVM
|
||||
|
||||
ENTRYPOINT ["/kvmd/init.sh"]
|
||||
ENTRYPOINT ["bash"]
|
||||
@ -1,7 +0,0 @@
|
||||
upstream kvmd {
|
||||
server unix:/run/kvmd/kvmd.sock fail_timeout=0s max_fails=0;
|
||||
}
|
||||
|
||||
upstream ustreamer {
|
||||
server unix:/run/kvmd/ustreamer.sock fail_timeout=0s max_fails=0;
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743,i2c_pins_28_29=1
|
||||
@ -1,8 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743
|
||||
dtoverlay=disable-bt
|
||||
@ -1,8 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=96
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743,i2c_pins_28_29=1
|
||||
dtoverlay=disable-bt
|
||||
@ -1,6 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=16
|
||||
enable_uart=1
|
||||
@ -1,7 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=16
|
||||
enable_uart=1
|
||||
dtoverlay=disable-bt
|
||||
@ -1,7 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=16
|
||||
enable_uart=1
|
||||
dtoverlay=disable-bt
|
||||
@ -1,8 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743,i2c_pins_28_29=1
|
||||
dtoverlay=spi0-1cs
|
||||
@ -1,9 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=spi0-1cs
|
||||
@ -1,9 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=96
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743,i2c_pins_28_29=1
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=spi0-1cs
|
||||
@ -1,7 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=16
|
||||
enable_uart=1
|
||||
dtoverlay=spi0-1cs
|
||||
@ -1,8 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=16
|
||||
enable_uart=1
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=spi0-1cs
|
||||
@ -1,8 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=16
|
||||
enable_uart=1
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=spi0-1cs
|
||||
@ -1,9 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
@ -1,9 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
@ -1,9 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=96
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743,i2c_pins_28_29=1
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
@ -1,8 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=16
|
||||
enable_uart=1
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
@ -1,22 +0,0 @@
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=tc358743
|
||||
dtoverlay=disable-bt
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
dtparam=act_led_gpio=13
|
||||
|
||||
# HDMI audio capture
|
||||
dtoverlay=tc358743-audio
|
||||
|
||||
# SPI (AUM)
|
||||
dtoverlay=spi0-1cs
|
||||
|
||||
# I2C (display)
|
||||
dtparam=i2c_arm=on
|
||||
|
||||
# Clock
|
||||
dtoverlay=i2c-rtc,pcf8563,wakeup-source
|
||||
@ -1,21 +0,0 @@
|
||||
# PiKVM
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=disable-bt
|
||||
|
||||
# USB emulation
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
|
||||
# Video and audio
|
||||
dtoverlay=tc358743,4lane=1
|
||||
dtoverlay=tc358743-audio
|
||||
|
||||
# I2C (display)
|
||||
dtparam=i2c_arm=on
|
||||
|
||||
# Clock
|
||||
dtoverlay=i2c-rtc,pcf8563,wakeup-source
|
||||
@ -1,29 +0,0 @@
|
||||
# PiKVM
|
||||
# See /boot/overlays/README for all available options
|
||||
initramfs initramfs-linux.img followkernel
|
||||
|
||||
hdmi_force_hotplug=1
|
||||
gpu_mem=128
|
||||
enable_uart=1
|
||||
dtoverlay=disable-bt
|
||||
|
||||
# USB emulation
|
||||
dtoverlay=dwc2,dr_mode=peripheral
|
||||
|
||||
# Video and audio
|
||||
dtoverlay=tc358743,4lane=1
|
||||
dtoverlay=tc358743-audio
|
||||
|
||||
# Passthrough
|
||||
dtoverlay=vc4-kms-v3d
|
||||
disable_overscan=1
|
||||
|
||||
# I2C (display)
|
||||
dtparam=i2c_arm=on
|
||||
|
||||
# Clock
|
||||
dtoverlay=i2c-rtc,pcf8563,wakeup-source
|
||||
|
||||
# Passthrough
|
||||
dtoverlay=vc4-kms-v3d
|
||||
disable_overscan=1
|
||||
@ -1,5 +0,0 @@
|
||||
s/console=ttyAMA0\,115200//g
|
||||
s/kgdboc=ttyAMA0\,115200//g
|
||||
s/console=serial0\,115200//g
|
||||
s/kgdboc=serial0\,115200//g
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1,5 +0,0 @@
|
||||
s/console=ttyAMA0\,115200//g
|
||||
s/kgdboc=ttyAMA0\,115200//g
|
||||
s/console=serial0\,115200//g
|
||||
s/kgdboc=serial0\,115200//g
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1,5 +0,0 @@
|
||||
s/console=ttyAMA0\,115200//g
|
||||
s/kgdboc=ttyAMA0\,115200//g
|
||||
s/console=serial0\,115200//g
|
||||
s/kgdboc=serial0\,115200//g
|
||||
s/rootwait/rootwait cma=96M/g
|
||||
@ -1,4 +0,0 @@
|
||||
s/console=ttyAMA0\,115200//g
|
||||
s/kgdboc=ttyAMA0\,115200//g
|
||||
s/console=serial0\,115200//g
|
||||
s/kgdboc=serial0\,115200//g
|
||||
@ -1,4 +0,0 @@
|
||||
s/console=ttyAMA0\,115200//g
|
||||
s/kgdboc=ttyAMA0\,115200//g
|
||||
s/console=serial0\,115200//g
|
||||
s/kgdboc=serial0\,115200//g
|
||||
@ -1,4 +0,0 @@
|
||||
s/console=ttyAMA0\,115200//g
|
||||
s/kgdboc=ttyAMA0\,115200//g
|
||||
s/console=serial0\,115200//g
|
||||
s/kgdboc=serial0\,115200//g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=96M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=96M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1 +0,0 @@
|
||||
s/rootwait/rootwait cma=128M/g
|
||||
@ -1,6 +0,0 @@
|
||||
g kvmd-webterm - -
|
||||
|
||||
u kvmd-webterm - "Pi-KVM - Web terminal" /home/kvmd-webterm
|
||||
|
||||
m kvmd-webterm kvmd
|
||||
m kvmd-nginx kvmd-webterm
|
||||
@ -1 +0,0 @@
|
||||
tc358743
|
||||
@ -1 +0,0 @@
|
||||
tc358743
|
||||
@ -1,3 +0,0 @@
|
||||
dwc2
|
||||
libcomposite
|
||||
tc358743
|
||||
@ -1,2 +0,0 @@
|
||||
dwc2
|
||||
libcomposite
|
||||
@ -1,4 +0,0 @@
|
||||
dwc2
|
||||
libcomposite
|
||||
tc358743
|
||||
i2c-dev
|
||||
@ -1,4 +0,0 @@
|
||||
dwc2
|
||||
libcomposite
|
||||
tc358743
|
||||
i2c-dev
|
||||
@ -1,4 +0,0 @@
|
||||
dwc2
|
||||
libcomposite
|
||||
tc358743
|
||||
i2c-dev
|
||||
@ -1,29 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - Boot configuration
|
||||
After=systemd-modules-load.service kvmd-oled.service
|
||||
Before=\
|
||||
kvmd-webterm.service \
|
||||
kvmd-certbot.service \
|
||||
kvmd-ipmi.service \
|
||||
kvmd-janus-static.service \
|
||||
kvmd-janus.service \
|
||||
kvmd-nginx.service \
|
||||
kvmd-otg.service \
|
||||
kvmd-otgnet.service \
|
||||
kvmd-pst.service \
|
||||
kvmd-tc358743.service \
|
||||
kvmd-vnc.service \
|
||||
kvmd-watchdog.service \
|
||||
kvmd.service \
|
||||
pikvm-bootconfig.service \
|
||||
sshd.service \
|
||||
network-pre.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/kvmd-bootconfig --do-the-thing
|
||||
ExecStop=/bin/true
|
||||
RemainAfterExit=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,9 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - Certbot-Renew for KVMD-Nginx
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
EnvironmentFile=-/etc/conf.d/kvmd-certbot
|
||||
ExecStart=/usr/bin/kvmd-certbot renew --quiet
|
||||
# Should we?..
|
||||
# PrivateTmp=true
|
||||
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Run KVMD-Certbot twice daily
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 00/12:00:00
|
||||
RandomizedDelaySec=12h
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
@ -1,17 +0,0 @@
|
||||
[Unit]
|
||||
Description=One-KVM - IPMI to KVMD proxy
|
||||
After=kvmd.service
|
||||
|
||||
[Service]
|
||||
User=kvmd-ipmi
|
||||
Group=kvmd-ipmi
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||
|
||||
ExecStart=/usr/bin/kvmd-ipmi --run
|
||||
TimeoutStopSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,22 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - Janus WebRTC Gateway (Static Config)
|
||||
After=network.target network-online.target nss-lookup.target kvmd.service
|
||||
|
||||
[Service]
|
||||
User=kvmd-janus
|
||||
Group=kvmd-janus
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
AmbientCapabilities=CAP_NET_RAW
|
||||
LimitNOFILE=65536
|
||||
|
||||
# Crutch for UNIX socket perms
|
||||
UMask=0117
|
||||
|
||||
ExecStart=/usr/bin/janus --disable-colors --plugins-folder=/usr/lib/ustreamer/janus --configs-folder=/etc/kvmd/janus
|
||||
TimeoutStopSec=10
|
||||
KillMode=mixed
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,22 +0,0 @@
|
||||
[Unit]
|
||||
Description=One-KVM - Janus WebRTC Gateway
|
||||
After=network.target network-online.target nss-lookup.target kvmd.service
|
||||
|
||||
[Service]
|
||||
User=kvmd-janus
|
||||
Group=kvmd-janus
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
AmbientCapabilities=CAP_NET_RAW
|
||||
LimitNOFILE=65536
|
||||
|
||||
# Crutch for UNIX socket perms
|
||||
UMask=0117
|
||||
|
||||
ExecStart=/usr/bin/kvmd-janus --run
|
||||
TimeoutStopSec=10
|
||||
KillMode=mixed
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,21 +0,0 @@
|
||||
[Unit]
|
||||
Description=One-KVM - HTTP entrypoint
|
||||
After=network.target network-online.target nss-lookup.target kvmd.service
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/run/kvmd/nginx.pid
|
||||
PrivateDevices=yes
|
||||
SyslogLevel=err
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
ExecStartPre=/usr/bin/kvmd-nginx-mkconf /etc/kvmd/nginx/nginx.conf.mako /run/kvmd/nginx.conf
|
||||
ExecStart=/usr/sbin/nginx -p /etc/kvmd/nginx -c /run/kvmd/nginx.conf -g 'pid /run/kvmd/nginx.pid; user kvmd-nginx; error_log stderr;'
|
||||
ExecReload=/usr/sbin/nginx -s reload -p /etc/kvmd/nginx -c /run/kvmd/nginx.conf -g 'pid /run/kvmd/nginx.pid; user kvmd-nginx; error_log stderr;'
|
||||
KillSignal=SIGQUIT
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - Display reboot message on the OLED
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash -c "kill -USR1 `systemctl show -P MainPID kvmd-oled`"
|
||||
ExecStop=/bin/true
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=reboot.target
|
||||
@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - Display shutdown message on the OLED
|
||||
Conflicts=reboot.target
|
||||
Before=shutdown.target poweroff.target halt.target
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash -c "kill -USR2 `systemctl show -P MainPID kvmd-oled`"
|
||||
ExecStop=/bin/true
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=shutdown.target
|
||||
@ -1,15 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - A small OLED daemon
|
||||
After=systemd-modules-load.service
|
||||
ConditionPathExists=/dev/i2c-1
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
ExecStartPre=/usr/bin/kvmd-oled --interval=3 --clear-on-exit --image=@hello.ppm
|
||||
ExecStart=/usr/bin/kvmd-oled
|
||||
TimeoutStopSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=One-KVM- OTG setup
|
||||
After=systemd-modules-load.service
|
||||
Before=kvmd.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/kvmd-otg start
|
||||
ExecStop=/usr/bin/kvmd-otg stop
|
||||
RemainAfterExit=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - OTG network service
|
||||
After=kvmd-otg.service
|
||||
Wants=network-pre.target
|
||||
After=network-pre.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/kvmd-otgnet start
|
||||
ExecStop=/usr/bin/kvmd-otgnet stop
|
||||
RemainAfterExit=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - The KVMD persistent storage manager
|
||||
Before=kvmd.service
|
||||
|
||||
[Service]
|
||||
User=kvmd-pst
|
||||
Group=kvmd-pst
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
ExecStart=/usr/bin/kvmd-pst --run
|
||||
TimeoutStopSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - EDID loader for TC358743
|
||||
Wants=dev-kvmd\x2dvideo.device
|
||||
After=dev-kvmd\x2dvideo.device systemd-modules-load.service
|
||||
Before=kvmd.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/v4l2-ctl --device=/dev/kvmd-video --set-edid=file=/etc/kvmd/tc358743-edid.hex --info-edid
|
||||
ExecStop=/usr/bin/v4l2-ctl --device=/dev/kvmd-video --clear-edid
|
||||
RemainAfterExit=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=One-KVM - VNC to KVMD/Streamer proxy
|
||||
After=kvmd.service
|
||||
|
||||
[Service]
|
||||
User=kvmd-vnc
|
||||
Group=kvmd-vnc
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
ExecStart=/usr/bin/kvmd-vnc --run
|
||||
TimeoutStopSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=PiKVM - RTC-based hardware watchdog
|
||||
After=systemd-modules-load.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
ExecStart=/usr/bin/kvmd-watchdog run
|
||||
TimeoutStopSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,24 +0,0 @@
|
||||
[Unit]
|
||||
Description=One-KVM - Web terminal (ttyd)
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=kvmd-webterm
|
||||
Group=kvmd-webterm
|
||||
WorkingDirectory=/home/kvmd-webterm
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
|
||||
# Crutch for UNIX socket perms
|
||||
UMask=0117
|
||||
|
||||
EnvironmentFile=-/etc/conf.d/kvmd-webterm
|
||||
ExecStart=/usr/bin/ttyd \
|
||||
-W \
|
||||
--interface=/run/kvmd/ttyd.sock \
|
||||
--port=0 \
|
||||
$KVMD_WEBTERM_ARGS \
|
||||
/bin/bash -c 'echo -ne "\033]0;One-KVM Terminal: `hostname -f` (ttyd)\007"; bash /etc/kvmd/armbain-motd; export TERM=linux; umask 0022; bash'
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1,18 +0,0 @@
|
||||
[Unit]
|
||||
Description=One-KVM - The main daemon
|
||||
After=network.target network-online.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
User=kvmd
|
||||
Group=kvmd
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
AmbientCapabilities=CAP_NET_RAW
|
||||
|
||||
ExecStart=/usr/bin/kvmd --run
|
||||
TimeoutStopSec=10
|
||||
KillMode=mixed
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@ -1 +0,0 @@
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1 +0,0 @@
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1 +0,0 @@
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1 +0,0 @@
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1,2 +0,0 @@
|
||||
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1,2 +0,0 @@
|
||||
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1,2 +0,0 @@
|
||||
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1,2 +0,0 @@
|
||||
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1,2 +0,0 @@
|
||||
kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount
|
||||
kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount
|
||||
@ -1,10 +0,0 @@
|
||||
# Overly-aggressive data writeback policies to minimize the chance of data corruption
|
||||
# Start dirty data writeback when it exceeds 256 KiB or 1s has passed
|
||||
vm.dirty_background_bytes = 262144
|
||||
vm.dirty_writeback_centisecs = 100
|
||||
|
||||
# https://groups.google.com/g/meetecho-janus/c/xoWIQfaoJm8
|
||||
net.core.rmem_default = 500000
|
||||
net.core.wmem_default = 500000
|
||||
net.core.rmem_max = 1000000
|
||||
net.core.wmem_max = 1000000
|
||||
@ -1,38 +0,0 @@
|
||||
g kvmd - -
|
||||
g kvmd-pst - -
|
||||
g kvmd-ipmi - -
|
||||
g kvmd-vnc - -
|
||||
g kvmd-nginx - -
|
||||
g kvmd-janus - -
|
||||
g kvmd-certbot - -
|
||||
|
||||
u kvmd - "PiKVM - The main daemon" -
|
||||
u kvmd-pst - "PiKVM - Persistent storage" -
|
||||
u kvmd-ipmi - "PiKVM - IPMI to KVMD proxy" -
|
||||
u kvmd-vnc - "PiKVM - VNC to KVMD/Streamer proxy" -
|
||||
u kvmd-nginx - "PiKVM - HTTP entrypoint" -
|
||||
u kvmd-janus - "PiKVM - Janus WebRTC Gateway" -
|
||||
u kvmd-certbot - "PiKVM - Certbot-Renew for KVMD-Nginx"
|
||||
|
||||
m kvmd video
|
||||
m kvmd gpio
|
||||
m kvmd uucp
|
||||
m kvmd spi
|
||||
m kvmd systemd-journal
|
||||
m kvmd kvmd-pst
|
||||
|
||||
m kvmd-pst kvmd
|
||||
|
||||
m kvmd-ipmi kvmd
|
||||
|
||||
m kvmd-vnc kvmd
|
||||
m kvmd-vnc kvmd-certbot
|
||||
|
||||
m kvmd-janus kvmd
|
||||
m kvmd-janus audio
|
||||
|
||||
m kvmd-nginx kvmd
|
||||
m kvmd-nginx kvmd-janus
|
||||
m kvmd-nginx kvmd-certbot
|
||||
|
||||
m kvmd-certbot kvmd-pst
|
||||
@ -1,7 +0,0 @@
|
||||
D /run/kvmd 0775 kvmd kvmd -
|
||||
D /run/kvmd-certbot 0755 root root -
|
||||
D /run/kvmd-certbot/webroot 0755 kvmd-certbot kvmd-certbot -
|
||||
|
||||
D /tmp/kvmd 0775 kvmd kvmd -
|
||||
D /tmp/kvmd-nginx 0700 kvmd-nginx root -
|
||||
D /tmp/kvmd-certbot 0755 kvmd-certbot kvmd-certbot -
|
||||
@ -1,3 +0,0 @@
|
||||
# Here are described some bindings for PiKVM devices.
|
||||
# Do not edit this file.
|
||||
KERNEL=="ttyACM[0-9]*", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="eda3", SYMLINK+="kvmd-hid-bridge"
|
||||
@ -1,4 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
|
||||
@ -1,4 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
|
||||
@ -1,4 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
|
||||
@ -1,4 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi2 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
|
||||
@ -1,4 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi3 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
|
||||
@ -1,4 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video0", SUBSYSTEM=="video4linux", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
|
||||
@ -1,3 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
@ -1,3 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
@ -1,3 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
@ -1,3 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi2 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
@ -1,3 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi3 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
@ -1,3 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video0", SUBSYSTEM=="video4linux", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
@ -1,6 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
@ -1,6 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
@ -1,6 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
@ -1,7 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
KERNEL=="ttyUSB0", GROUP="kvmd", SYMLINK+="kvmd-hid"
|
||||
@ -1,6 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", PROGRAM="/usr/bin/kvmd-udev-hdmiusb-check rpi4 %b", ATTR{index}=="0", GROUP="kvmd", SYMLINK+="kvmd-video"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
@ -1,6 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
@ -1,6 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
@ -1,7 +0,0 @@
|
||||
# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
|
||||
# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
|
||||
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
|
||||
KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
|
||||
KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
|
||||
KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"
|
||||
SUBSYSTEM=="drm", ACTION=="change", ENV{DEVLINKS}=="/dev/dri/by-path/platform-gpu-card", RUN+="/usr/bin/kvmd-udev-restart-pass %k %E{CONNECTOR}"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user