mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 09:10:30 +08:00
添加 KVM 切换器支持
This commit is contained in:
parent
df6da8e3d7
commit
74dfc74dd2
@ -89,6 +89,7 @@ sudo chroot --userspec "root:root" $ROOTFS bash -c " \
|
|||||||
#服务自启
|
#服务自启
|
||||||
sudo chroot --userspec "root:root" $ROOTFS bash -c " \
|
sudo chroot --userspec "root:root" $ROOTFS bash -c " \
|
||||||
cat /One-KVM/configs/os/sudoers/v2-hdmiusb >> /etc/sudoers \
|
cat /One-KVM/configs/os/sudoers/v2-hdmiusb >> /etc/sudoers \
|
||||||
|
&& cat /One-KVM/configs/os/udev/v2-hdmiusb-generic.rules > /etc/udev/rules.d/99-kvmd.rules \
|
||||||
&& echo 'libcomposite' >> /etc/modules \
|
&& echo 'libcomposite' >> /etc/modules \
|
||||||
&& mv /usr/local/bin/kvmd* /usr/bin \
|
&& mv /usr/local/bin/kvmd* /usr/bin \
|
||||||
&& cp /One-KVM/configs/os/services/* /etc/systemd/system/ \
|
&& cp /One-KVM/configs/os/services/* /etc/systemd/system/ \
|
||||||
|
|||||||
@ -14,6 +14,7 @@ if [ ! -f /etc/kvmd/.init_flag ]; then
|
|||||||
&& mv /etc/kvmd_backup/* /etc/kvmd/ \
|
&& mv /etc/kvmd_backup/* /etc/kvmd/ \
|
||||||
&& touch /etc/kvmd/.docker_flag \
|
&& touch /etc/kvmd/.docker_flag \
|
||||||
&& sed -i 's/localhost.localdomain/docker/g' /etc/kvmd/meta.yaml \
|
&& sed -i 's/localhost.localdomain/docker/g' /etc/kvmd/meta.yaml \
|
||||||
|
&& sed -i 's/localhost/localhost:4430/g' /etc/kvmd/kvm_input.sh \
|
||||||
&& /usr/share/kvmd/kvmd-gencert --do-the-thing \
|
&& /usr/share/kvmd/kvmd-gencert --do-the-thing \
|
||||||
&& /usr/share/kvmd/kvmd-gencert --do-the-thing --vnc \
|
&& /usr/share/kvmd/kvmd-gencert --do-the-thing --vnc \
|
||||||
|| echo -e "${RED}One-KVM config moving and self-signed SSL certificates init failed.${NC}"
|
|| echo -e "${RED}One-KVM config moving and self-signed SSL certificates init failed.${NC}"
|
||||||
|
|||||||
32
configs/kvmd/kvm_input.sh
Executable file
32
configs/kvmd/kvm_input.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Written by @srepac FILENAME: input.sh
|
||||||
|
# Input switcher script for use with KVM switches that use CTRL+CTRL+#
|
||||||
|
# ... pass in # into the script
|
||||||
|
#
|
||||||
|
usage() {
|
||||||
|
echo "usage: $0 <#> <pikvm-name-or-ip> where # is the input number on the KVM switch"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
password=admin
|
||||||
|
|
||||||
|
#HOTKEY="ScrollLock"
|
||||||
|
HOTKEY="ControlLeft"
|
||||||
|
|
||||||
|
if [[ "$1" == "" ]]; then
|
||||||
|
usage
|
||||||
|
else
|
||||||
|
NUM="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$2" == "" ]]; then
|
||||||
|
IP="localhost"
|
||||||
|
else
|
||||||
|
IP="$2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
OSD=$( echo $HOTKEY | sed -e 's/ControlLeft/CTRL/g' )
|
||||||
|
echo "Sending $OSD + $OSD + $NUM to $IP"
|
||||||
|
|
||||||
|
curl -X POST -k -u admin:$password "https://$IP/api/hid/events/send_key?key=$HOTKEY" 2> /dev/null
|
||||||
|
curl -X POST -k -u admin:$password "https://$IP/api/hid/events/send_key?key=$HOTKEY" 2> /dev/null
|
||||||
|
curl -X POST -k -u admin:$password "https://$IP/api/hid/events/send_key?key=Digit${NUM}" 2> /dev/null
|
||||||
@ -59,6 +59,12 @@ kvmd:
|
|||||||
reset_press:
|
reset_press:
|
||||||
type: cmd
|
type: cmd
|
||||||
cmd: [/etc/kvmd/atx.sh, reset]
|
cmd: [/etc/kvmd/atx.sh, reset]
|
||||||
|
input1:
|
||||||
|
type: cmd
|
||||||
|
cmd: [/etc/kvmd/kvm_input.sh, 1]
|
||||||
|
input2:
|
||||||
|
type: cmd
|
||||||
|
cmd: [/etc/kvmd/kvm_input.sh, 2]
|
||||||
scheme:
|
scheme:
|
||||||
wol_server1:
|
wol_server1:
|
||||||
driver: wol_server1
|
driver: wol_server1
|
||||||
@ -80,18 +86,32 @@ kvmd:
|
|||||||
pin: 0
|
pin: 0
|
||||||
mode: output
|
mode: output
|
||||||
switch: false
|
switch: false
|
||||||
|
input1-button:
|
||||||
|
driver: input1
|
||||||
|
pin: 0
|
||||||
|
mode: output
|
||||||
|
switch: false
|
||||||
|
input2-button:
|
||||||
|
driver: input2
|
||||||
|
pin: 0
|
||||||
|
mode: output
|
||||||
|
switch: false
|
||||||
view:
|
view:
|
||||||
header:
|
header:
|
||||||
title: 电源管理
|
title: 高级功能
|
||||||
table:
|
table:
|
||||||
- ["#电源管理"]
|
- ["#电源管理"]
|
||||||
- []
|
|
||||||
- ["#短按(开/关机):", short_button|按下]
|
- ["#短按(开/关机):", short_button|按下]
|
||||||
- ["#长按(强制关机):", long_button|按下]
|
- ["#长按(强制关机):", long_button|按下]
|
||||||
- ["#重启:", reset_button|按下]
|
- ["#重启:", reset_button|按下]
|
||||||
- []
|
- []
|
||||||
- ["#网络唤醒"]
|
- ["#网络唤醒"]
|
||||||
- ["#被控机设备", wol_server1|网络唤醒]
|
- ["#被控机设备", wol_server1|网络唤醒]
|
||||||
|
- []
|
||||||
|
- ["#KVM 切换"]
|
||||||
|
- ["#HDMI 1", input1-button|切换]
|
||||||
|
- ["#HDMI 2", input2-button|切换]
|
||||||
|
|
||||||
|
|
||||||
vnc:
|
vnc:
|
||||||
keymap: /usr/share/kvmd/keymaps/ru
|
keymap: /usr/share/kvmd/keymaps/ru
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user