vncserver: add -dry-run option

KASM-1810_yaml_config
Dmitry Maksyoma 4 years ago
parent a9888b9ca7
commit 8ea6704fcd

@ -758,6 +758,8 @@ sub DeWasSelectedEarlier {
} }
sub AskUserToChooseDeOrManualXstartup { sub AskUserToChooseDeOrManualXstartup {
return if (IsDryRun());
if (DeWasSelectedEarlier() && !$opt{'-select-de'}) { if (DeWasSelectedEarlier() && !$opt{'-select-de'}) {
return; return;
} }
@ -1150,7 +1152,7 @@ sub DefineFilePathsAndStuff {
} }
sub ParseAndProcessCliOptions { sub ParseAndProcessCliOptions {
my @supportedOptions = ("-geometry",1,"-depth",1,"-pixelformat",1,"-name",1,"-kill",1,"-help",0,"-h",0,"--help",0,"-fp",1,"-list",0,"-fg",0,"-autokill",0,"-noxstartup",0,"-xstartup",1,"-select-de",OPTIONAL_ARG_VALUE, "-interface", REQUIRED_ARG_VALUE, '-debug', NO_ARG_VALUE, '-websocketPort', REQUIRED_ARG_VALUE); my @supportedOptions = ("-geometry",1,"-depth",1,"-pixelformat",1,"-name",1,"-kill",1,"-help",0,"-h",0,"--help",0,"-fp",1,"-list",0,"-fg",0,"-autokill",0,"-noxstartup",0,"-xstartup",1,"-select-de",OPTIONAL_ARG_VALUE, "-interface", REQUIRED_ARG_VALUE, '-debug', NO_ARG_VALUE, '-websocketPort', REQUIRED_ARG_VALUE, "-dry-run", NO_ARG_VALUE);
ParseOptionsAndRemoveMatchesFromARGV(@supportedOptions); ParseOptionsAndRemoveMatchesFromARGV(@supportedOptions);
ProcessCliOptions(); ProcessCliOptions();
CheckGeometryAndDepthAreSensible(); CheckGeometryAndDepthAreSensible();
@ -1187,6 +1189,8 @@ sub GenerateWebsocketPortFromDisplayNumber {
} }
sub EnsureAtLeastOneKasmUserExists { sub EnsureAtLeastOneKasmUserExists {
return if (IsDryRun());
@kasmPasswdUsers = LoadKasmPasswdUsers(); @kasmPasswdUsers = LoadKasmPasswdUsers();
if (!AtLeastOneUserConfigured()) { if (!AtLeastOneUserConfigured()) {
GuideUserToSetupKasmPasswdUser(); GuideUserToSetupKasmPasswdUser();
@ -1196,7 +1200,10 @@ sub EnsureAtLeastOneKasmUserExists {
sub StartXvncOrExit { sub StartXvncOrExit {
$cmd = ConstructXvncCmd(); $cmd = ConstructXvncCmd();
say $cmd; if (IsDryRun()) {
say $cmd;
exit(0);
}
DeleteLogLeftFromPreviousXvncRun(); DeleteLogLeftFromPreviousXvncRun();
StartXvncAndRecordPID(); StartXvncAndRecordPID();
@ -1298,6 +1305,10 @@ sub LocalSelectDePath {
"$dirname/../builder/startup/deb/select-de.sh"; "$dirname/../builder/startup/deb/select-de.sh";
} }
sub IsDryRun {
$opt{"-dry-run"};
}
sub LoadYAMLConfig { sub LoadYAMLConfig {
if (! -f $vncDefaultsConfig) { if (! -f $vncDefaultsConfig) {
die "Couldn't load config: $vncDefaultsConfig"; die "Couldn't load config: $vncDefaultsConfig";
@ -1307,9 +1318,9 @@ sub LoadYAMLConfig {
my $systemConfig = YAML::Tiny->read($vncSystemConfig)->[0]; my $systemConfig = YAML::Tiny->read($vncSystemConfig)->[0];
%mergedConfig = %{ Hash::Merge::Simple::merge($defaultsConfig, $systemConfig) }; %mergedConfig = %{ Hash::Merge::Simple::merge($defaultsConfig, $systemConfig) };
say $mergedConfig{framerate}; # say $mergedConfig{framerate};
say $mergedConfig{data_loss_prevention}{region}{x1}; # say $mergedConfig{data_loss_prevention}{region}{x1};
say ConvertConfigToXvncArgs(); # say ConvertConfigToXvncArgs();
} }
sub ConvertConfigToXvncArgs { sub ConvertConfigToXvncArgs {

Loading…
Cancel
Save