]> git.proxmox.com Git - pve-container.git/commitdiff
add 'noescapechar' parameter to get_console_command
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 24 Nov 2017 14:43:32 +0000 (15:43 +0100)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 27 Nov 2017 07:58:57 +0000 (08:58 +0100)
this adds a '-e -1' to lxc-console, and disables the
escape character (which we do not want with the web console)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/PVE/API2/LXC.pm
src/PVE/LXC.pm

index 561d05ec43b703c4cc92eed0bab322993c0bd419..a1897c7ca4b8a9595b4cfd4fbf78d16528f9882d 100644 (file)
@@ -710,7 +710,7 @@ __PACKAGE__->register_method ({
            ['/usr/bin/ssh', '-e', 'none', '-t', $remip] : [];
 
        my $conf = PVE::LXC::Config->load_config($vmid, $node);
-       my $concmd = PVE::LXC::get_console_command($vmid, $conf);
+       my $concmd = PVE::LXC::get_console_command($vmid, $conf, 1);
 
        my $shcmd = [ '/usr/bin/dtach', '-A',
                      "/var/run/dtach/vzctlconsole$vmid",
index ebe369dd71c9899385f6a6880f13ab2fd06d4769..80d79e19c2bf9dd2323fefe1b50b2037f6dc773a 100644 (file)
@@ -486,19 +486,24 @@ sub verify_searchdomain_list {
 }
 
 sub get_console_command {
-    my ($vmid, $conf) = @_;
+    my ($vmid, $conf, $noescapechar) = @_;
 
     my $cmode = PVE::LXC::Config->get_cmode($conf);
 
+    my $cmd = [];
     if ($cmode eq 'console') {
-       return ['lxc-console', '-n',  $vmid, '-t', 0];
+       push @$cmd, 'lxc-console', '-n',  $vmid, '-t', 0;
+       push @$cmd, '-e', -1 if $noescapechar;
     } elsif ($cmode eq 'tty') {
-       return ['lxc-console', '-n',  $vmid];
+       push @$cmd, 'lxc-console', '-n',  $vmid;
+       push @$cmd, '-e', -1 if $noescapechar;
     } elsif ($cmode eq 'shell') {
-       return ['lxc-attach', '--clear-env', '-n', $vmid];
+       push @$cmd, 'lxc-attach', '--clear-env', '-n', $vmid;
     } else {
        die "internal error";
     }
+
+    return $cmd;
 }
 
 sub get_primary_ips {