mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-02-19 11:51:19 +01:00
vncserver: print browser url to connect to
Add 0.0.0.0 as default interface. Xvnc fails if -interface isn't passed.
This commit is contained in:
parent
e453c7d73b
commit
02ef620f67
@ -61,6 +61,8 @@ if (! $skipxstartup) {
|
|||||||
&RunXstartup();
|
&RunXstartup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PrintBrowserUrl();
|
||||||
|
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -817,6 +819,7 @@ sub SetReasonabeDefaults {
|
|||||||
$default_opts{websocketPort} = $websocketPort;
|
$default_opts{websocketPort} = $websocketPort;
|
||||||
$default_opts{fp} = $fontPath if ($fontPath);
|
$default_opts{fp} = $fontPath if ($fontPath);
|
||||||
$default_opts{pn} = "";
|
$default_opts{pn} = "";
|
||||||
|
$default_opts{interface} = "0.0.0.0";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub LoadSystemThenUserThenMandatoryConfigs {
|
sub LoadSystemThenUserThenMandatoryConfigs {
|
||||||
@ -1107,6 +1110,11 @@ sub ParseAndProcessCliOptions {
|
|||||||
&CheckCliOptionsForBeingValid();
|
&CheckCliOptionsForBeingValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub CheckBrowserHostDefined {
|
||||||
|
DeduceBrowserHost() || \
|
||||||
|
die "-interface has no default value and wasn't passed by user";
|
||||||
|
}
|
||||||
|
|
||||||
sub PrepareDefaultsForPassingToXvnc {
|
sub PrepareDefaultsForPassingToXvnc {
|
||||||
# We set some reasonable defaults. Config file settings
|
# We set some reasonable defaults. Config file settings
|
||||||
# override these where present.
|
# override these where present.
|
||||||
@ -1118,6 +1126,7 @@ sub PrepareDefaultsForPassingToXvnc {
|
|||||||
|
|
||||||
&SetReasonabeDefaults();
|
&SetReasonabeDefaults();
|
||||||
&LoadSystemThenUserThenMandatoryConfigs();
|
&LoadSystemThenUserThenMandatoryConfigs();
|
||||||
|
CheckBrowserHostDefined();
|
||||||
}
|
}
|
||||||
|
|
||||||
sub EnsureAtLeastOneKasmUserExists {
|
sub EnsureAtLeastOneKasmUserExists {
|
||||||
@ -1183,6 +1192,37 @@ sub PrintLogFilenameAndConfiguredUsersAndStuff {
|
|||||||
warn "Log file is $desktopLog\n\n";
|
warn "Log file is $desktopLog\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub PrintBrowserUrl {
|
||||||
|
my $browserUrl = ConstructBrowserUrl();
|
||||||
|
warn "\nPaste this url in your browser: $browserUrl\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
sub IsAllInterfaces {
|
||||||
|
my $interface = shift;
|
||||||
|
|
||||||
|
$interface eq "0.0.0.0";
|
||||||
|
}
|
||||||
|
|
||||||
|
sub DeduceBrowserHost {
|
||||||
|
my $browserHost = $host;
|
||||||
|
my $interface = $opt{"-interface"} || $default_opts{interface};
|
||||||
|
|
||||||
|
if (IsAllInterfaces($interface)) {
|
||||||
|
$browserHost = $host;
|
||||||
|
} else {
|
||||||
|
$browserHost = $interface;
|
||||||
|
}
|
||||||
|
|
||||||
|
$browserHost;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub ConstructBrowserUrl {
|
||||||
|
my $browserHost = DeduceBrowserHost();
|
||||||
|
my $browserPort = $websocketPort;
|
||||||
|
|
||||||
|
"https://$browserHost:$browserPort";
|
||||||
|
}
|
||||||
|
|
||||||
sub IsThisSystemBinary {
|
sub IsThisSystemBinary {
|
||||||
$0 =~ m!^/usr!;
|
$0 =~ m!^/usr!;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user