vncserver: YAML config spike
This commit is contained in:
@@ -29,6 +29,9 @@ use v5.10;
|
||||
use Time::HiRes qw (sleep);
|
||||
use Switch;
|
||||
use File::Basename;
|
||||
use YAML::Tiny;
|
||||
|
||||
use Hash::Merge::Simple;
|
||||
|
||||
use constant {
|
||||
NO_ARG_VALUE => 0,
|
||||
@@ -39,6 +42,8 @@ use constant {
|
||||
CheckWeCanRunInThisEnvironment();
|
||||
|
||||
DefineFilePathsAndStuff();
|
||||
LoadYAMLConfig();
|
||||
exit;
|
||||
|
||||
ParseAndProcessCliOptions();
|
||||
|
||||
@@ -1081,6 +1086,8 @@ sub DefineFilePathsAndStuff {
|
||||
$de_was_selected_file="$ENV{HOME}/.vnc/.de-was-selected";
|
||||
|
||||
$vncSystemConfigDir = "/etc/kasmvnc";
|
||||
$vncDefaultsConfig = "/src/unix/vncserver_defaults.yaml";
|
||||
$vncSystemConfig = "/src/unix/vncserver.yaml";
|
||||
$vncSystemConfigDefaultsFile = "$vncSystemConfigDir/vncserver-config-defaults";
|
||||
$vncSystemConfigMandatoryFile = "$vncSystemConfigDir/vncserver-config-mandatory";
|
||||
$defaultWebsocketPort = 8443;
|
||||
@@ -1245,3 +1252,12 @@ sub LocalSelectDePath {
|
||||
my $dirname = dirname($0);
|
||||
"$dirname/../builder/startup/deb/select-de.sh";
|
||||
}
|
||||
|
||||
sub LoadYAMLConfig {
|
||||
my $defaultsConfig = YAML::Tiny->read($vncDefaultsConfig)->[0];
|
||||
my $systemConfig = YAML::Tiny->read($vncSystemConfig)->[0];
|
||||
my %mergedConfig = %{ Hash::Merge::Simple::merge($defaultsConfig, $systemConfig) };
|
||||
|
||||
say $mergedConfig{framerate};
|
||||
say $mergedConfig{dlp}{region}{x1};
|
||||
}
|
||||
|
||||
25
unix/vncserver.yaml
Normal file
25
unix/vncserver.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
# geometry: 1024x768
|
||||
# interface: 192.168.0.1
|
||||
framerate: 40
|
||||
# dynamic_quality:
|
||||
# min: 7
|
||||
# max: 8
|
||||
# treat_lossless: 10
|
||||
# prefer_bandwidth: true
|
||||
# max_video_resolution:
|
||||
# width: 640
|
||||
# height: 480
|
||||
dlp:
|
||||
region:
|
||||
x1: 11
|
||||
y1: 11
|
||||
allow_click: false
|
||||
# clipboard:
|
||||
# send_max: 10000
|
||||
# accept_max: 10000
|
||||
# delay: 1000
|
||||
# keyboard:
|
||||
# ratelimit: 30
|
||||
# logging:
|
||||
# level: verbose
|
||||
25
unix/vncserver_defaults.yaml
Normal file
25
unix/vncserver_defaults.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
geometry: 1024x768
|
||||
interface: 192.168.0.1
|
||||
framerate: 30
|
||||
dynamic_quality:
|
||||
min: 7
|
||||
max: 8
|
||||
treat_lossless: 10
|
||||
prefer_bandwidth: true
|
||||
max_video_resolution:
|
||||
width: 640
|
||||
height: 480
|
||||
dlp:
|
||||
region:
|
||||
x1: 10
|
||||
y1: 10
|
||||
allow_click: false
|
||||
clipboard:
|
||||
send_max: 10000
|
||||
accept_max: 10000
|
||||
delay: 1000
|
||||
keyboard:
|
||||
ratelimit: 30
|
||||
logging:
|
||||
level: verbose
|
||||
Reference in New Issue
Block a user