X2go ssh daemon could not be started windows 10

X2Go Bug report logs —
#1156
SSH daemon could not be started

version graph

Reported by: John Cobo <john.cobo@gmail.com>

Date: Thu, 16 Mar 2017 12:40:02 UTC

Severity: normal

Tags: pending

Fixed in version 4.1.2.0

Done: X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>

Bug is archived. No further changes may be made.

Toggle useless messages


Report forwarded
to x2go-dev@lists.x2go.org, owner@bugs.x2go.org:
Bug#1156; Package windows client.
(Thu, 16 Mar 2017 12:40:02 GMT) (full text, mbox, link).


Acknowledgement sent
to John Cobo <john.cobo@gmail.com>:
New Bug report received and forwarded. Copy sent to owner@bugs.x2go.org.
(Thu, 16 Mar 2017 12:40:03 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

[Message part 1 (text/plain, inline)]
Package: Windows Client
Version: 4.1.0.0


Using windows 10, I install X2Go client and on every connection the
SSH deemon error pops up. Disabling printing and file shareing does
fix it, but... 'tis not right.

Thanks.


[image: Inline images 1]
[Message part 2 (text/html, inline)]
[image.png (image/png, inline)]

Information forwarded
to x2go-dev@lists.x2go.org, owner@bugs.x2go.org:
Bug#1156; Package windows client.
(Mon, 20 Mar 2017 20:35:02 GMT) (full text, mbox, link).


Acknowledgement sent
to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to owner@bugs.x2go.org.
(Mon, 20 Mar 2017 20:35:02 GMT) (full text, mbox, link).


Message #10 received at 1156@bugs.x2go.org (full text, mbox, reply):

[Message part 1 (text/plain, inline)]
Control: reassign -1 x2goclient

On 16.03.2017 01:35 PM, John Cobo wrote:
> Package: Windows Client
> Version: 4.1.0.0
> 
> 
> Using windows 10, I install X2Go client and on every connection the SSH deemon error pops up. Disabling printing and file shareing does fix it, but... 'tis not right.
> 
> Thanks.

Please install the debug version and start X2Go Client via the debug symlink, if
possible from the command line and redirecting output to a file. I'll need the
debug log to figure out what went wrong on your system.



Mihai


[signature.asc (application/pgp-signature, attachment)]

Bug reassigned from package ‘windows client’ to ‘x2goclient’.
Request was from Mihai Moldovan <ionic@ionic.de>
to 1156-submit@bugs.x2go.org.
(Mon, 20 Mar 2017 20:35:02 GMT) (full text, mbox, link).


No longer marked as found in versions 4.1.0.0.
Request was from Mihai Moldovan <ionic@ionic.de>
to 1156-submit@bugs.x2go.org.
(Mon, 20 Mar 2017 20:35:02 GMT) (full text, mbox, link).


Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Mon, 29 Jan 2018 13:00:02 GMT) (full text, mbox, link).


Acknowledgement sent
to Gromit <gromit8192@gmail.com>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Mon, 29 Jan 2018 13:00:02 GMT) (full text, mbox, link).


Message #19 received at 1156@bugs.x2go.org (full text, mbox, reply):

Had this same problem under Windows 10.

Started x2goclient.debug --debug and it showed me that the
permissions for the ssh_host_rsa_key are too open (0770).

Installed cygwin to check these permissions under windows and the user- 
and groupname where the same username. The rights where 700. Somehow the 
rights for the group where inherited from the user when they have the 
same owner/group-name.

Fixed it by changing the group for ssh_host_rsa_key from the username to 
'Users' under cygwin.


Guido


Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Tue, 13 Feb 2018 11:40:01 GMT) (full text, mbox, link).


Acknowledgement sent
to yk+bug+x2go@64.re:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Tue, 13 Feb 2018 11:40:02 GMT) (full text, mbox, link).


Message #24 received at 1156@bugs.x2go.org (full text, mbox, reply):

On Mon, 29 Jan 2018 13:55:07 +0100
Gromit <gromit8192@gmail.com> wrote:
> Had this same problem under Windows 10.
> 
> Started x2goclient.debug --debug and it showed me that the
> permissions for the ssh_host_rsa_key are too open (0770).
> 
> Installed cygwin to check these permissions under windows and the
> user- and groupname where the same username. The rights where 700.
> Somehow the rights for the group where inherited from the user when
> they have the same owner/group-name.
> 
> Fixed it by changing the group for ssh_host_rsa_key from the username
> to 'Users' under cygwin.


Thanks so much for this workaround!

I can confirm that I am experiencing the exact same issue on all the
Windows 10 installations at work, and that the workaround is working.


Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Thu, 15 Feb 2018 03:00:02 GMT) (full text, mbox, link).


Acknowledgement sent
to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Thu, 15 Feb 2018 03:00:02 GMT) (full text, mbox, link).


Message #29 received at 1156@bugs.x2go.org (full text, mbox, reply):

[Message part 1 (text/plain, inline)]
* On 01/29/2018 01:55 PM, Gromit wrote:
> Had this same problem under Windows 10.
> 
> Started x2goclient.debug --debug and it showed me that the
> permissions for the ssh_host_rsa_key are too open (0770).
> 
> Installed cygwin to check these permissions under windows and the user- 
> and groupname where the same username. The rights where 700. Somehow the 
> rights for the group where inherited from the user when they have the 
> same owner/group-name.
> 
> Fixed it by changing the group for ssh_host_rsa_key from the username to 
> 'Users' under cygwin.

Yes, that's very unfortunate. As far as I could find out, that's a known bug (or
feature, or whatever) in Cygwin.

Sadly, I have no idea how to fix that without telling users to install chmod,
cygwin bash and fixing permissions manually. That's certainly not the best way
to deal with that wide-spread issue.



Mihai

[signature.asc (application/pgp-signature, attachment)]

Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Sat, 05 May 2018 00:45:02 GMT) (full text, mbox, link).


Acknowledgement sent
to Jonathan Landis <jkl@calibersecurity.com>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Sat, 05 May 2018 00:45:02 GMT) (full text, mbox, link).


Message #34 received at 1156@bugs.x2go.org (full text, mbox, reply):

[Message part 1 (text/plain, inline)]
You can fix the file permissions without Cygwin, but not with File
Explorer. You need to use the industrial-strength subinacl.exe tool
available for free from Microsoft. It's often the only option for
permissions issues, so it is useful to have around.

As noted earlier in the thread, the ssh_host_rsa_key file's primary group
is the same as the user. So the group permissions are the user permissions,
and there is no possible way to satisfy the permissions requirements, even
if you delete all permissions entries except the one for the user.

So what you have to do is set the primary group to something else, and make
sure that it doesn't have access to the file. Like this:

"c:Program Files (x86)Windows Resource KitsToolssubinacl.exe" /file
ssh_host_rsa_key /setprimarygroup=Administrators

That will set the primary group to the builtin Administrators group. Make
sure that group doesn't have an access grant (which can be done in File
Explorer if desired).
[Message part 2 (text/html, inline)]

Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Thu, 14 Jun 2018 02:15:02 GMT) (full text, mbox, link).


Acknowledgement sent
to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Thu, 14 Jun 2018 02:15:02 GMT) (full text, mbox, link).


Message #39 received at 1156@bugs.x2go.org (full text, mbox, reply):

tag #1156 pending
fixed #1156 4.1.2.0
thanks

Hello,

X2Go issue #1156 (src:x2goclient) reported by you has been
fixed in X2Go Git. You can see the changelog below, and you can
check the diff of the fix at:

    http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=f22fd19

The issue will most likely be fixed in src:x2goclient (4.1.2.0).

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
commit f22fd1957a8b16a80588451cc3e0dab26c2d5c8b
Author: Mihai Moldovan <ionic@ionic.de>
Date:   Thu Jun 14 04:11:15 2018 +0200

    src/onmainwindow.cpp: hook-in chgrp for ~/.x2go/etc on Windows platforms to work around a Cygwin permissions bug. Fixes: #1156.

diff --git a/debian/changelog b/debian/changelog
index da8f2c1..fe06805 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -86,6 +86,8 @@ x2goclient (4.1.2.0-0x2go1) UNRELEASED; urgency=medium
       Server startup functions.
     - src/pulsemanager.cpp: use QByteArray's constData () instead of data (),
       since we'll never modify the data anyway.
+    - src/onmainwindow.cpp: hook-in chgrp for ~/.x2go/etc on Windows platforms
+      to work around a Cygwin permissions bug. Fixes: #1156.
   * x2goclient.spec:
     - Remove plugin references.
   * debian/rules:


Added tag(s) pending.
Request was from Mihai Moldovan <ionic@ionic.de>
to control@bugs.x2go.org.
(Thu, 14 Jun 2018 02:15:03 GMT) (full text, mbox, link).


Marked as fixed in versions 4.1.2.0.
Request was from Mihai Moldovan <ionic@ionic.de>
to control@bugs.x2go.org.
(Thu, 14 Jun 2018 02:15:03 GMT) (full text, mbox, link).


Message sent on
to John Cobo <john.cobo@gmail.com>:
Bug#1156.
(Thu, 14 Jun 2018 02:15:04 GMT) (full text, mbox, link).


Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Fri, 15 Jun 2018 10:05:02 GMT) (full text, mbox, link).


Acknowledgement sent
to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Fri, 15 Jun 2018 10:05:02 GMT) (full text, mbox, link).


Message #51 received at 1156@bugs.x2go.org (full text, mbox, reply):

tag #1156 pending
fixed #1156 4.1.2.0
thanks

Hello,

X2Go issue #1156 (src:x2goclient) reported by you has been
fixed in X2Go Git. You can see the changelog below, and you can
check the diff of the fix at:

    http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=9c1ca41

The issue will most likely be fixed in src:x2goclient (4.1.2.0).

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
commit 9c1ca414da2698d51213382475b29e6a1d1e9b6a
Author: Mihai Moldovan <ionic@ionic.de>
Date:   Fri Jun 15 11:59:05 2018 +0200

    src/onmainwindow.cpp: disable private host key permissions check in OpenSSH Server on Windows. Fixes: #1156.

diff --git a/debian/changelog b/debian/changelog
index e70ea70..078b072 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -98,6 +98,8 @@ x2goclient (4.1.2.0-0x2go1) UNRELEASED; urgency=medium
     - copy-deps-win32.bat: update to 20180615-1 Cygwin bundle, shipping with
       a further modified OpenSSH Server version at 7.7p1-1-x2go1 and without
       chgrp.
+    - src/onmainwindow.cpp: disable private host key permissions check in
+      OpenSSH Server on Windows. Fixes: #1156.
   * x2goclient.spec:
     - Remove plugin references.
   * debian/rules:


Message sent on
to John Cobo <john.cobo@gmail.com>:
Bug#1156.
(Fri, 15 Jun 2018 10:05:02 GMT) (full text, mbox, link).


Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Fri, 22 Jun 2018 20:40:02 GMT) (full text, mbox, link).


Acknowledgement sent
to X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Fri, 22 Jun 2018 20:40:03 GMT) (full text, mbox, link).


Message #59 received at 1156@bugs.x2go.org (full text, mbox, reply):

close #1156
thanks

Hello,

we are very hopeful that X2Go issue #1156 reported by you
has been resolved in the new release (4.1.2.0) of the
X2Go source project »src:x2goclient«.

You can view the complete changelog entry of src:x2goclient (4.1.2.0)
below, and you can use the following link to view all the code changes
between this and the last release of src:x2goclient.

    http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=bc5c972f6fb84e6c542332d64f0403bb7ba440e3;hp=d8f5e5a4a51724ef3620e7f347644338e2449444

If you feel that the issue has not been resolved satisfyingly, feel
free to reopen this bug report or submit a follow-up report with
further observations described based on the new released version
of src:x2goclient.

Thanks a lot for contributing to X2Go!!!

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
X2Go Component: src:x2goclient
Version: 4.1.2.0-0x2go1
Status: RELEASE
Date: Fri, 22 Jun 2018 22:30:29 +0200
Fixes: 1156 1258 1263
Changes:
 x2goclient (4.1.2.0-0x2go1) RELEASED; urgency=medium
 .
   [ Mike DePaulo ]
   * New upstream version (4.1.2.0):
     - src/sshmasterconnection.cpp: Do not attempt to perform Interaction with
       SSH Server (e.g. for changing expired password) when using
       GSSAPI/Kerberos because the interaction code does not support it yet.
       Fixes: #1258
     - Windows: Update PuTTY from 0.68 to 0.70, which fixes PuTTY vulns
       vuln-indirect-dll-hijack-2 & vuln-indirect-dll-hijack-3.
       Note that x2goclient was only ever affected if the permissions on the
       installation folder were changed to give users write access, or if
       x2goclient was copied/extracted to a folder where users could write.
     - Windows: Update Win32 OpenSSL from 1.0.2k to 1.0.2n
       Fixes several CVEs
     - Windows: Upgrade bundled VcXsrv from 1.17.0.0-3 (X2Go/Arctica Build)
       to 1.20.0.0 (upstream build)
         + Fixes https://github.com/ArcticaProject/nx-libs/issues/600
         + Incompatible with XP & Vista
         + Unmodified except for strip-nondeterminism being run on .gz files
 .
   [ Oleksandr Shneyder ]
   * New upstream version (4.1.2.0):
     - don't start gpg agent for PGP card authentication. Use system agent instead.
     - change search string for pcsc_scan.
     - destroy unused SSH sessions for LDAP authentication.
 .
   [ Mihai Moldovan ]
   * New upstream version (4.1.2.0):
     - misc: update version to 4.1.2.0.
     - res/img/svg: add new lxqt.svg icon file (really helix.svg).
     - res/img/icons/*x*: add new rasterized lxqt.png files in different sizes.
     - res/qresources.qrc: add new lxqt files.
     - src/{onmainwindow.cpp,session{button,widget}.{cpp,h}}: add support for
       LXQt. Fixes: #1263.
     - src/sshmasterconnection.cpp: stop libssh/OpenSSL from querying for a
       passphrase if started with a controlling terminal.
     - x2goclient.pro: remove plugin references.
     - misc: change http:// to https:// where appropriate, but in actual code
       and translation files for now.
     - Makefile: remove plugin references.
     - Makefile: remove x2goclient_*.qm files in clean rule.
     - x2gobrowserplugin-2.4_1/: remove.
     - provider/: remove.
     - INSTALL: remove plugin references.
     - {{build,config}_win_plugin.bat,config_linux_{,static_}plugin.sh}:
       remove.
     - config_win.bat: remove plugin references.
     - src/{configdialog.cpp,onmainwindow{.cpp,{,_privat}.h}}: remove plugin
       references.
     - src/editconnectiondialog.cpp: do not connect signals to slots that do
       not exist on non-Linux platforms.
     - src/onmainwindow.cpp: add -nopn parameter to VcXsrv startup options,
       making the binary fail if it wasn't able to bind the requested port on
       all addresses.
     - src/onmainwindow.cpp: print out current DISPLAY value in debug log while
       starting X.Org Server on Windows.
     - src/onmainwindow.{cpp,h}: don't error out directly if starting the X.Org
       Server failed on Windows. Instead, try starting it three times, each
       time with a higher DISPLAY offset. On busy client machines, several
       clients raced for the sockets previously and often failed to start. Also
       check if the server binary actually is still alive before doing the TCP
       connection checks. A dead server won't be able to listen on a socket in
       the first place.
     - {src/{onmainwindow.{cpp,h},help.cpp},man/man1/x2goclient.1}: add new
       option --xserver-start-limit, replacing the formerly hardcoded limit of
       three tries.
     - src/onmainwindow.{cpp,h}: fix compile error on Windows - use std::size_t
       instead of std::ssize_t, treat zero as infinity value while parsing
       option value.
     - src/onmainwindow.cpp: handle a disabled X.Org Server start limit
       correctly.
     - src/onmainwindow.cpp: fix other compile errors/typos.
     - src/onmainwindow.cpp: another compile error/typo fix.
     - src/onmainwindow.cpp: let client recognize new --xserver-start-limit
       param correctly.
     - src/onmainwindow.cpp: add -silent-dup-error parameter to VcXsrv startup
       options, forcing it to silently fail without showing a dialog and thus
       keeping the process running.
     - src/onmainwindow.cpp: re-add periodic xmodmap keyboard sync for OS
       X/macOS platforms. Was dropped some time ago by accident.
     - src/onmainwindow.cpp: fix compile error on OS X/macOS.
     - copy-deps-win32.bat: update to 20160121-4 Cygwin bundle, shipping with
       chgrp.
     - src/onmainwindow.cpp: fix user-facing error messages in Windows X.Org
       Server startup functions.
     - src/pulsemanager.cpp: use QByteArray's constData () instead of data (),
       since we'll never modify the data anyway.
     - src/onmainwindow.cpp: hook-in chgrp for ~/.x2go/etc on Windows platforms
       to work around a Cygwin permissions bug. Fixes: #1156.
     - src/onmainwindow.cpp: QProcess:nullDevice () is only available on Qt
       5.2+, so use a workaround for older versions.
     - src/onmainwindow.cpp: actually pass the correct group ID to the chgrp
       call and make sure that the warning dialog box also appears whenever the
       exit code indicates a failure.
     - src/onmainwindow.{cpp,h}: remove Cygwin permissions workaround via
       chgrp.
     - copy-deps-win32.bat: update to 20180615-1 Cygwin bundle, shipping with
       a further modified OpenSSH Server version at 7.7p1-1-x2go1 and without
       chgrp.
     - src/onmainwindow.cpp: disable private host key permissions check in
       OpenSSH Server on Windows. Fixes: #1156.
     - res/i18n/x2goclient_*.ts: update translation files.
     - res/i18n/x2goclient_fi.ts: whitespace and other fixups.
     - res/i18n/x2goclient_fi.ts: add missing numerus form translation and
       other fixups.
     - res/i18n/x2goclient_de.ts: another fixup I previously forgot about.
     - res/i18n/x2goclient_et.ts: whitespace and meta data fixup.
     - res/i18n/x2goclient_et.ts: typo fix: on+ma -> oma.
   * x2goclient.spec:
     - Remove plugin references.
   * debian/rules:
     - Remove plugin references.
     - Remove x2goclient_*.qm files removal.
   * debian/control:
     - Convert plugin packages to dummy transitional packages with no
       dependencies, remove other plugin references.
   * debian/:
     - x2goplugin{,-provider}.install: clear out.
     - {x2goplugin.dirs,x2goplugin-provider.dirs,x2goplugin-provider.links,
        x2goplugin-provider.post*}: remove.
   * debian/copyright:
     - Remove plugin references.
 .
   [ Martti Pitkänen ]
   * New upstream version (4.1.2.0):
     - res/i18n/x2goclient_fi.ts: update Finnish translation file.
 .
   [ Stefan Baur ]
   * New upstream release (4.1.2.0):
     - res/i18n/x2goclient_de.ts: update German translation file.
 .
   [ Sébastien Ducoulombier ]
   * New upstream version (4.1.2.0):
     - res/i18n/x2goclient_fr.ts: update French translation file.
 .
   [ Robert Parts ]
   * New upstream version (4.1.2.0):
     - res/i18n/x2goclient_et.ts: update Estonian translation file.


Marked Bug as done
Request was from X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>
to control@bugs.x2go.org.
(Fri, 22 Jun 2018 20:40:06 GMT) (full text, mbox, link).


Notification sent
to John Cobo <john.cobo@gmail.com>:
Bug acknowledged by developer.
(Fri, 22 Jun 2018 20:40:07 GMT) (full text, mbox, link).


Message sent on
to John Cobo <john.cobo@gmail.com>:
Bug#1156.
(Fri, 22 Jun 2018 20:40:09 GMT) (full text, mbox, link).


Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1156; Package x2goclient.
(Sat, 23 Jun 2018 02:20:05 GMT) (full text, mbox, link).


Acknowledgement sent
to X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>.
(Sat, 23 Jun 2018 02:20:05 GMT) (full text, mbox, link).


Message #71 received at 1156@bugs.x2go.org (full text, mbox, reply):

close #1156
thanks

Hello,

we are very hopeful that X2Go issue #1156 reported by you
has been resolved in the new release (4.1.2.0) of the
X2Go source project »src:x2goclient«.

You can view the complete changelog entry of src:x2goclient (4.1.2.0)
below, and you can use the following link to view all the code changes
between this and the last release of src:x2goclient.

    http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=81565e3e4bd7ee380f72d68ff002aa18501230d4;hp=d8f5e5a4a51724ef3620e7f347644338e2449444

If you feel that the issue has not been resolved satisfyingly, feel
free to reopen this bug report or submit a follow-up report with
further observations described based on the new released version
of src:x2goclient.

Thanks a lot for contributing to X2Go!!!

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
X2Go Component: src:x2goclient
Version: 4.1.2.0-0x2go1
Status: RELEASE
Date: Fri, 22 Jun 2018 22:30:29 +0200
Fixes: 1156 1258 1263
Changes:
 x2goclient (4.1.2.0-0x2go1) RELEASED; urgency=medium
 .
   [ Mike DePaulo ]
   * New upstream version (4.1.2.0):
     - src/sshmasterconnection.cpp: Do not attempt to perform Interaction with
       SSH Server (e.g. for changing expired password) when using
       GSSAPI/Kerberos because the interaction code does not support it yet.
       Fixes: #1258
     - Windows: Update PuTTY from 0.68 to 0.70, which fixes PuTTY vulns
       vuln-indirect-dll-hijack-2 & vuln-indirect-dll-hijack-3.
       Note that x2goclient was only ever affected if the permissions on the
       installation folder were changed to give users write access, or if
       x2goclient was copied/extracted to a folder where users could write.
     - Windows: Update Win32 OpenSSL from 1.0.2k to 1.0.2n
       Fixes several CVEs
     - Windows: Upgrade bundled VcXsrv from 1.17.0.0-3 (X2Go/Arctica Build)
       to 1.20.0.0 (upstream build)
         + Fixes https://github.com/ArcticaProject/nx-libs/issues/600
         + Incompatible with XP & Vista
         + Unmodified except for strip-nondeterminism being run on .gz files
 .
   [ Oleksandr Shneyder ]
   * New upstream version (4.1.2.0):
     - don't start gpg agent for PGP card authentication. Use system agent instead.
     - change search string for pcsc_scan.
     - destroy unused SSH sessions for LDAP authentication.
 .
   [ Mihai Moldovan ]
   * New upstream version (4.1.2.0):
     - misc: update version to 4.1.2.0.
     - res/img/svg: add new lxqt.svg icon file (really helix.svg).
     - res/img/icons/*x*: add new rasterized lxqt.png files in different sizes.
     - res/qresources.qrc: add new lxqt files.
     - src/{onmainwindow.cpp,session{button,widget}.{cpp,h}}: add support for
       LXQt. Fixes: #1263.
     - src/sshmasterconnection.cpp: stop libssh/OpenSSL from querying for a
       passphrase if started with a controlling terminal.
     - x2goclient.pro: remove plugin references.
     - misc: change http:// to https:// where appropriate, but in actual code
       and translation files for now.
     - Makefile: remove plugin references.
     - Makefile: remove x2goclient_*.qm files in clean rule.
     - x2gobrowserplugin-2.4_1/: remove.
     - provider/: remove.
     - INSTALL: remove plugin references.
     - {{build,config}_win_plugin.bat,config_linux_{,static_}plugin.sh}:
       remove.
     - config_win.bat: remove plugin references.
     - src/{configdialog.cpp,onmainwindow{.cpp,{,_privat}.h}}: remove plugin
       references.
     - src/editconnectiondialog.cpp: do not connect signals to slots that do
       not exist on non-Linux platforms.
     - src/onmainwindow.cpp: add -nopn parameter to VcXsrv startup options,
       making the binary fail if it wasn't able to bind the requested port on
       all addresses.
     - src/onmainwindow.cpp: print out current DISPLAY value in debug log while
       starting X.Org Server on Windows.
     - src/onmainwindow.{cpp,h}: don't error out directly if starting the X.Org
       Server failed on Windows. Instead, try starting it three times, each
       time with a higher DISPLAY offset. On busy client machines, several
       clients raced for the sockets previously and often failed to start. Also
       check if the server binary actually is still alive before doing the TCP
       connection checks. A dead server won't be able to listen on a socket in
       the first place.
     - {src/{onmainwindow.{cpp,h},help.cpp},man/man1/x2goclient.1}: add new
       option --xserver-start-limit, replacing the formerly hardcoded limit of
       three tries.
     - src/onmainwindow.{cpp,h}: fix compile error on Windows - use std::size_t
       instead of std::ssize_t, treat zero as infinity value while parsing
       option value.
     - src/onmainwindow.cpp: handle a disabled X.Org Server start limit
       correctly.
     - src/onmainwindow.cpp: fix other compile errors/typos.
     - src/onmainwindow.cpp: another compile error/typo fix.
     - src/onmainwindow.cpp: let client recognize new --xserver-start-limit
       param correctly.
     - src/onmainwindow.cpp: add -silent-dup-error parameter to VcXsrv startup
       options, forcing it to silently fail without showing a dialog and thus
       keeping the process running.
     - src/onmainwindow.cpp: re-add periodic xmodmap keyboard sync for OS
       X/macOS platforms. Was dropped some time ago by accident.
     - src/onmainwindow.cpp: fix compile error on OS X/macOS.
     - copy-deps-win32.bat: update to 20160121-4 Cygwin bundle, shipping with
       chgrp.
     - src/onmainwindow.cpp: fix user-facing error messages in Windows X.Org
       Server startup functions.
     - src/pulsemanager.cpp: use QByteArray's constData () instead of data (),
       since we'll never modify the data anyway.
     - src/onmainwindow.cpp: hook-in chgrp for ~/.x2go/etc on Windows platforms
       to work around a Cygwin permissions bug. Fixes: #1156.
     - src/onmainwindow.cpp: QProcess:nullDevice () is only available on Qt
       5.2+, so use a workaround for older versions.
     - src/onmainwindow.cpp: actually pass the correct group ID to the chgrp
       call and make sure that the warning dialog box also appears whenever the
       exit code indicates a failure.
     - src/onmainwindow.{cpp,h}: remove Cygwin permissions workaround via
       chgrp.
     - copy-deps-win32.bat: update to 20180615-1 Cygwin bundle, shipping with
       a further modified OpenSSH Server version at 7.7p1-1-x2go1 and without
       chgrp.
     - src/onmainwindow.cpp: disable private host key permissions check in
       OpenSSH Server on Windows. Fixes: #1156.
     - res/i18n/x2goclient_*.ts: update translation files.
     - res/i18n/x2goclient_fi.ts: whitespace and other fixups.
     - res/i18n/x2goclient_fi.ts: add missing numerus form translation and
       other fixups.
     - res/i18n/x2goclient_de.ts: another fixup I previously forgot about.
     - res/i18n/x2goclient_et.ts: whitespace and meta data fixup.
     - res/i18n/x2goclient_et.ts: typo fix: on+ma -> oma.
   * x2goclient.spec:
     - Remove plugin references.
   * debian/rules:
     - Remove plugin references.
     - Remove x2goclient_*.qm files removal.
   * debian/control:
     - Convert plugin packages to dummy transitional packages with no
       dependencies, remove other plugin references.
   * debian/:
     - x2goplugin{,-provider}.install: clear out.
     - {x2goplugin.dirs,x2goplugin-provider.dirs,x2goplugin-provider.links,
        x2goplugin-provider.post*}: remove.
   * debian/copyright:
     - Remove plugin references.
 .
   [ Martti Pitkänen ]
   * New upstream version (4.1.2.0):
     - res/i18n/x2goclient_fi.ts: update Finnish translation file.
 .
   [ Stefan Baur ]
   * New upstream release (4.1.2.0):
     - res/i18n/x2goclient_de.ts: update German translation file.
 .
   [ Sébastien Ducoulombier ]
   * New upstream version (4.1.2.0):
     - res/i18n/x2goclient_fr.ts: update French translation file.
 .
   [ Robert Parts ]
   * New upstream version (4.1.2.0):
     - res/i18n/x2goclient_et.ts: update Estonian translation file.


Message sent on
to John Cobo <john.cobo@gmail.com>:
Bug#1156.
(Sat, 23 Jun 2018 02:20:05 GMT) (full text, mbox, link).


Bug archived.
Request was from Debbugs Internal Request <owner@bugs.x2go.org>
to internal_control@bugs.x2go.org.
(Sat, 21 Jul 2018 05:24:02 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>.
Last modified:
Sun Feb 5 10:44:46 2023;
Machine Name:
ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.

Содержание

  1. X2go ssh daemon could not be started windows 10
  2. Contents
  3. Installation
  4. Server side
  5. Configure Secure Shell daemon
  6. Check fuse kernel module is loaded
  7. Setup SQLite database
  8. Control published applications
  9. Start X2Go server daemon
  10. Client side
  11. Access the local desktop
  12. Exchange data between client and server (desktop)
  13. Leave a session temporarily
  14. Troubleshooting
  15. The desktop environment does not start
  16. Local session prevents X2Go new session
  17. Path issue
  18. No selection screen in x2goclient
  19. Sessions do not logoff correctly
  20. Notification area disappeared
  21. Shared folders do not mount (Windows Clients)
  22. Workaround for failing compositing window manager for remote session
  23. /bin/bash: No such file or directory when connect (or what ever shell you use)
  24. X2Go client: Cannot connect to remote X2Go server from local Wayland session: «The connection with the remote server was shut down»
  25. X2Go server: localhost ssh tunnel on server fails with sshd error: error: connect_to localhost port xyz: failed.
  26. Performance issues
  27. Терминальный сервер на Ubuntu при помощи X2go.
  28. Терминальный сервер на Ubuntu при помощи X2go.
  29. Терминальный сервер на Ubuntu при помощи X2go.
  30. How to Set Up a Remote Desktop with X2Go on Ubuntu 18.04
  31. Published by Vlad on August 25, 2020 August 25, 2020
  32. Introduction
  33. How Does X2Go Work
  34. Is X2Go Safe?
  35. Why Use X2Go? What are the advantages?
  36. Prerequisites
  37. Step 1: Install X2Go
  38. Step 2: Install Your Preferred Desktop Environment
  39. What is a Desktop Environment
  40. Installing XFCE
  41. Installing LXDE
  42. Installing MATE Desktop
  43. Installing KDE Plasma Desktop
  44. Step 3: Install the X2Go Client on your Computer
  45. Step 4: Connecting to the Remote Desktop
  46. Connection Failed. Mesg: ttyname failed: Inappropriate ioctl for device
  47. SSH daemon could not be started
  48. Conclusion

X2go ssh daemon could not be started windows 10

X2Go enables to access a graphical desktop of a computer over the network. The protocol is tunneled through the Secure Shell protocol, so it is encrypted.

Contents

Installation

Two parts are available in official repositories. They can be installed with the following packages:

Server side

Configure Secure Shell daemon

X2Go uses Secure Shell in order to work, so you need to configure sshd daemon to allow X11 forwarding. Follow the instructions at OpenSSH#X11 forwarding and OpenSSH#Daemon management.

Check fuse kernel module is loaded

In order for the server to be able to access files on the client computer, the fuse module is needed. One can check that lsmod | grep fuse returns a match, otherwise load the fuse kernel module.

Setup SQLite database

Run the following command on the server to initialize the SQLite database (which is required in order for the x2go server to work):

Control published applications

See [1] for more information.

Start X2Go server daemon

Client side

Run X2Go Client on the client computer, the one that wants to access the server:

You can now create several sessions, which then appear on the right side and can be selected by a mouse click. Each entry consists of your username, hostname, IP, and port for SSH connection. Furthermore you can define several speed profiles (coming from modem up to LAN) and the desktop environment you want to start remotely.

Access the local desktop

To access the local desktop, the one currently running on the server rather than a new one, one can choose the option «X2Go/X11 Desktop Sharing» or «Connection to local desktop» (depending on the version of your client) in «session type» in the X2Go Client as long as the users match, if it is user foo accessing the session of user foo.

Exchange data between client and server (desktop)

On the X2Go client (e.g. laptop) local directories could be shared. The server will use fuse and SSHFS to access this directory and mount it to a subdirectory media of your home directory on the server. This enables you to have access to laptop data on your server or to exchange files. It is also possible to mount these shares automatically at each session start.

Leave a session temporarily

Another special feature of X2Go is the possibility of suspending a session. This means you can leave a session on one client and reopen it even from another client at the same point. This can be used to to start a session in the LAN and to reopen it later on a laptop. The session data are stored and administered in a SQLite database on the server in the meanwhile. The state of the sessions is protocolled by a process named x2gocleansessions.

Troubleshooting

The desktop environment does not start

Local session prevents X2Go new session

It happens that when a desktop session already runs locally and X2Go tries to start a new one, it fails. This is typically an issue related to D-Bus, see [2] for details.

Path issue

No selection screen in x2goclient

See [4], [5] for more information.

Sessions do not logoff correctly

Due to this bug the X2Go sessions might not logoff correctly. The script that initiates the session spits out many log lines that might confuse X2go. A simple workarround is to create a custom session script and redirect the log output either to a file or to /dev/null and then point your X2Go-client to this custom script.

Here is a sample script for an XFCE session:

Notification area disappeared

If you log in, but the notification area is missing, you can use exactly the same fix as for #Local session prevents X2Go new session.

Shared folders do not mount (Windows Clients)

The ssh-daemon used by the X2go windows client uses depreceated ssh-dss keys by default and because Arch does not accept them your shared folders will not mount. Check out this bug report for more information.

This can be solved on the windows side by generating different type of key:

And simply replace c:UsersUser.x2goetcssh_host_dsa_key and c:UsersUser.x2goetcssh_host_dsa_key.pub with the newly generated key files.

Other workarrounds from [6] might help, too.

Workaround for failing compositing window manager for remote session

Tango edit clearThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango edit clear

This is useful for situations, when the computer running x2goserver is used also for local sessions with e.g. compiz as the window manager. For remote connections with x2goclient, compiz fails to load and metacity should be used instead. The following is for GNOME, but could be modified for other desktop environments. (Getting compiz ready is not part of this how-to.)

Create script /usr/local/bin/gnome-wm-test.sh:

Modify the following gconf key to start the session with gnome-wm-test window manager:

/bin/bash: No such file or directory when connect (or what ever shell you use)

In you ssh configuration, if you chroot a user, this user need to have his own /bin directory inside his chrooted directory. If not, you will not be able to connect.

X2Go client: Cannot connect to remote X2Go server from local Wayland session: «The connection with the remote server was shut down»

X2Go client launches as expected from a local Wayland session but attempting to connect to a remote X2Go server fails. This problem is usually caused by Qt on Wayland.

Follow the instructions in Desktop entries#Modify environment variables and change the lines starting with

x2go client can not parse custom user ssh config files with tokens.

will result in connection failure with debug output:

This ssh config works:

X2Go server: localhost ssh tunnel on server fails with sshd error: error: connect_to localhost port xyz: failed.

X2Go server requires IPv4 for localhost ssh tunnel on the server. If you configure the sshd server to use IPv6 only

X2Go client connections will fail.

Performance issues

In case of performance issues (applications are unresponsive or freeze), try to turn off sound support, printing support and file share tunneling.

Источник

Терминальный сервер на Ubuntu при помощи X2go.

Так же можно использовать xrdp в связке с x11rdp. Он в общем то тоже рабочий, но очень трудоемкий в настройке. (Нужно все собирать из исходников, при этом, что бы заработала русская раскладка клавиатуры исходники нужно править, нужно редактировать целую кучу конфигов и т.д.)

Короче ниже будет показан еще один способ получения доступа к удаленному рабочему столу в Ubuntu, точнее сказать не просто получение доступа, а создание практически полноценного терминального сервера на Ubuntu, без использования XRDP, который можно развернуть буквально за 3 минуты.

Эта штука пробрасывает иксы по SSH, без использования vnc или rdp.

Для установки серверной части набираем в терминале:

После этого нужно установить какой нибудь оконный менеджер, т.к. Unity не работает. Мне понравился LXDE, для его установки набираем:

Сервер установлен, после этого нужно установить клиент, ]]> качаем его ]]> (ссылка для винды), для Linux или MacOS можно найти ссылки и порядок установки на сайте проекта.

Устанавливаем его и запускаем. Жмем кнопку Сессия и выбираем – Новая сессия

11

Заполняем поля, можно использовать SSH туннель, если поставить галочку – Использовать прокси сервер для SSH соединений.

21

В типе сессии выбираем LXDE. Так же можно выбрать приложение, и пробрасывать только окно программы (эдакий RemoteAPP). Но в этом режиме могут возникать проблемы с раскладкой клавиатуры.

Для ускорения быстродействия на вкладке медиа можно выключить звук, а на вкладке соединение подобрать параметры сжатия и задать скорость соединения.

31

41

Жмем кнопку ОК. Подключаемся к нашему компьютеру/серверу, вводим пароль пользователя и соединение будет установлено.

51

Для того что бы в LXDE заработало переключение раскладки, щелкаем правой кнопкой мыши по нижней панели и выбираем добавить/убрать элементы панели.

61

В открывшемся окне щелкаем добавить, находим Обработчик раскладки клавиатуры и добавляем его.

71

Рядом с часами появится флаг текущей раскладки. Щелкаем по нему правой кнопкой мыши выбираем Настроить «Обработчик раскладки клавиатуры»

81

Убираем галку – сохранить системные раскладки, и добавляем русскую раскладку

91

После чего можно изменить сочетание клавиш для смены раскладки, для этого нужно нажать на кнопку под раскладками (grp:…).

101

Вот и все, теперь при подключении пользователя всегда будет работать переключение раскладок. В общем можно сказать что терминальный сервер готов.

Источник

Терминальный сервер на Ubuntu при помощи X2go.

Так же можно использовать xrdp в связке с x11rdp. Он в общем то тоже рабочий, но очень трудоемкий в настройке. (Нужно все собирать из исходников, при этом, что бы заработала русская раскладка клавиатуры исходники нужно править, нужно редактировать целую кучу конфигов и т.д.)

Короче ниже будет показан еще один способ получения доступа к удаленному рабочему столу в Ubuntu, точнее сказать не просто получение доступа, а создание практически полноценного терминального сервера на Ubuntu, без использования XRDP, который можно развернуть буквально за 3 минуты.

Эта штука пробрасывает иксы по SSH, без использования vnc или rdp.

Для установки серверной части набираем в терминале:

После этого нужно установить какой нибудь оконный менеджер, т.к. Unity не работает. Мне понравился LXDE, для его установки набираем:

Сервер установлен, после этого нужно установить клиент, ]]> качаем его ]]> (ссылка для винды), для Linux или MacOS можно найти ссылки и порядок установки на сайте проекта.

Устанавливаем его и запускаем. Жмем кнопку Сессия и выбираем – Новая сессия

11

Заполняем поля, можно использовать SSH туннель, если поставить галочку – Использовать прокси сервер для SSH соединений.

21

В типе сессии выбираем LXDE. Так же можно выбрать приложение, и пробрасывать только окно программы (эдакий RemoteAPP). Но в этом режиме могут возникать проблемы с раскладкой клавиатуры.

Для ускорения быстродействия на вкладке медиа можно выключить звук, а на вкладке соединение подобрать параметры сжатия и задать скорость соединения.

31

41

Жмем кнопку ОК. Подключаемся к нашему компьютеру/серверу, вводим пароль пользователя и соединение будет установлено.

51

Для того что бы в LXDE заработало переключение раскладки, щелкаем правой кнопкой мыши по нижней панели и выбираем добавить/убрать элементы панели.

61

В открывшемся окне щелкаем добавить, находим Обработчик раскладки клавиатуры и добавляем его.

71

Рядом с часами появится флаг текущей раскладки. Щелкаем по нему правой кнопкой мыши выбираем Настроить «Обработчик раскладки клавиатуры»

81

Убираем галку – сохранить системные раскладки, и добавляем русскую раскладку

91

После чего можно изменить сочетание клавиш для смены раскладки, для этого нужно нажать на кнопку под раскладками (grp:…).

101

Вот и все, теперь при подключении пользователя всегда будет работать переключение раскладок. В общем можно сказать что терминальный сервер готов.

Источник

Терминальный сервер на Ubuntu при помощи X2go.

Так же можно использовать xrdp в связке с x11rdp. Он в общем то тоже рабочий, но очень трудоемкий в настройке. (Нужно все собирать из исходников, при этом, что бы заработала русская раскладка клавиатуры исходники нужно править, нужно редактировать целую кучу конфигов и т.д.)

Короче ниже будет показан еще один способ получения доступа к удаленному рабочему столу в Ubuntu, точнее сказать не просто получение доступа, а создание практически полноценного терминального сервера на Ubuntu, без использования XRDP, который можно развернуть буквально за 3 минуты.

Эта штука пробрасывает иксы по SSH, без использования vnc или rdp.

Для установки серверной части набираем в терминале:

После этого нужно установить какой нибудь оконный менеджер, т.к. Unity не работает. Мне понравился LXDE, для его установки набираем:

Сервер установлен, после этого нужно установить клиент, ]]> качаем его ]]> (ссылка для винды), для Linux или MacOS можно найти ссылки и порядок установки на сайте проекта.

Устанавливаем его и запускаем. Жмем кнопку Сессия и выбираем – Новая сессия

11

Заполняем поля, можно использовать SSH туннель, если поставить галочку – Использовать прокси сервер для SSH соединений.

21

В типе сессии выбираем LXDE. Так же можно выбрать приложение, и пробрасывать только окно программы (эдакий RemoteAPP). Но в этом режиме могут возникать проблемы с раскладкой клавиатуры.

Для ускорения быстродействия на вкладке медиа можно выключить звук, а на вкладке соединение подобрать параметры сжатия и задать скорость соединения.

31

41

Жмем кнопку ОК. Подключаемся к нашему компьютеру/серверу, вводим пароль пользователя и соединение будет установлено.

51

Для того что бы в LXDE заработало переключение раскладки, щелкаем правой кнопкой мыши по нижней панели и выбираем добавить/убрать элементы панели.

61

В открывшемся окне щелкаем добавить, находим Обработчик раскладки клавиатуры и добавляем его.

71

Рядом с часами появится флаг текущей раскладки. Щелкаем по нему правой кнопкой мыши выбираем Настроить «Обработчик раскладки клавиатуры»

81

Убираем галку – сохранить системные раскладки, и добавляем русскую раскладку

91

После чего можно изменить сочетание клавиш для смены раскладки, для этого нужно нажать на кнопку под раскладками (grp:…).

101

Вот и все, теперь при подключении пользователя всегда будет работать переключение раскладок. В общем можно сказать что терминальный сервер готов.

Источник

How to Set Up a Remote Desktop with X2Go on Ubuntu 18.04

Published by Vlad on August 25, 2020 August 25, 2020

Windows Servers are the main candidate for Remote Desktop Connection. However you don’t always need Windows, and you just need a server with a GUI. On top of that, Linux servers are a lot cheaper.

You may have tried VNC or xRDP to remotely connect your Ubuntu server and found them to be sluggish and are desperately searching for an alternative. While they are great solutions, in some instances they are slow, clunky, and can be insecure.

Installing X2Go on Ubuntu 20.04: This guide should also apply to installing X2Go on Ubuntu 20.04, except for the last part where we discuss fixing an error, because you won’t encounter that issue. For a more detailed guide specifically on installing on Ubuntu 20.04, you can check out Connect to Ubuntu 20.04 Remote Desktop using X2Go on ByteXD.com.

Introduction

I’m not sure why, but X2Go is not as popular as a solution as VNC or xRDP. Frankly, I find that appalling. Why? Because it’s a whole lot faster and provides a smoother experience than other remote desktop solutions.

How Does X2Go Work

X2Go is an open-source remote desktop software for Linux distributions. It provides a smooth and speedy connection even with slow internet. The question is how does X2Go work so fast?

X2Go uses a modified NX protocol that compresses data to minimize the amount of information transmitted. The NX protocol is what makes X2Go faster than other remote desktop solutions. It caches data to make the session as fast and responsive as possible.

For instance, if you open a menu for the first time, it will take a few seconds. On the second time, it will open almost instantaneously.

The connection is not only fast but also secure. NX protocol uses the SSH protocol to encrypt data before sending it through the network.

X2Go requires two components to work:

X2Go uses older NX libraries. That is why it may have issues on newer 3D desktop environments such as Gnome/Unity or KDE. In our experience KDE has worked without a hitch with Ubuntu 18.04, but we couldn’t manage to get X2Go to work with GNOME. In some cases you can get some environments to work with a workaround.

If you do find one for GNOME and you’d like to share it, then we’d love to hear from you!

Nearly all older desktop environments such as LXDE and XFCE work without an issue and are marked as being always supported on the X2Go website.

A great thing about X2Go is that it also has a browser plugin available. You can remotely access another PC (X2Go server) from your web browser. On the web interface, even iOS and Android clients are available.

Note: if you are using X2Go over the web then port forwarding and Dynamic DNS are recommended.

Is X2Go Safe?

Yes, X2Go is safe to use.

X2Go uses an NX protocol to transmit information through a secure SSH connection. The SSH protocol is a network protocol that encrypts your data and makes it secure over an insecure network. SSH protocol is the popular choice for securing logins from one computer to another.

Why Use X2Go? What are the advantages?

X2Go is not as popular as VNC but there are several advantages to using X2Go. A few advantages of X2Go are:

After following this tutorial you’ll have a Ubuntu desktop that you can easily connect to, and hopefully, get your work done with more ease.

Prerequisites

Get a High RAM VPS at Entry-level Pricing

Pick one of our KVM plans

Step 1: Install X2Go

We’ll need to add the PPA reference for X2Go, but your server may not have the add-apt-repository command available.

To fix that run the following command:

Now let’s add X2Go’s PPA:

Next, refresh the database of the available software packages by running:

We can now install X2Go by running:

With X2Go installed, we’ll now need to install a desktop environment on our server.

Step 2: Install Your Preferred Desktop Environment

What is a Desktop Environment

Most Linux users, especially the most advanced tech maestros prefer the command line. It’s what Linux is known for.

It might sound surprising to most people that Linux offers an excellent graphical interface on top of its powerful shell. But that’s not all!

What’s different about the Linux interface is that you can choose your own desktop environment.

Note: DO NOT confuse Linux distributions with desktop environments.

A Linux distribution also known as Linux distro is an operating system made from a collection of software that is based upon the Linux kernel. Some Linux distros look very similar to each other and are even confused with one another. An example of such distributions can be Ubuntu and Linux Mint.

A desktop environment is installed on top of a Linux distribution as a software. The purpose of a desktop environment is to make the interface user-friendly. In Linux, the GUI is made up of four layers:

These four layers get together to create the interface that we see on our computer screens.

In this tutorial, we’ll install XFCE, LXDE, MATE Desktop, and KDE Plasma Desktop. You can install whichever you prefer, or you can install all of them, and decide which one to use from X2Go.

XFCE and LXDE are more lightweight, so they’re recommended if you want your desktop environment to use fewer resources.

We’ll also focus on installing Minimum Desktop Environment, which means you’ll install only the core features and add other packages only if you need them.

Installing XFCE

XFCE is the most light-weight desktop environment. XFCE is also the recommended desktop environment for X2Go. XFCE seamlessly provides core functionality and requires fewer resources. This makes XFCE faster and an excellent choice for X2Go remote desktop.

x2go connected xfce 1

Installing LXDE

LXDE is our second recommendation for X2Go. It’s also very light-weight and requires fewer resources as compared to other desktop environments.

The GUI in LXDE is very basic but user-friendly. It’s known to work well with X2Go with composting disabled. Although, XFCE provides a higher number of features as compared to LXDE.

LXDE is the default desktop environment of Knoppix, Artix LXLE Linux, and Peppermint Linux OS (among others).

x2go connected lxde 1

Installing MATE Desktop

MATE is one of the most popular desktop environments in Linux. MATE is a continuation of the GNOME 2 desktop environment. It was named MATE to avoid confusion with GNOME.

MATE was born when GNOME 3 replaced the traditional menu bar and taskbar. It created quite a frenzy among GNOME loyalists causing major controversy in the Linux and GNU community.

MATE is supported in almost all Linux distros including Debian, Ubuntu, and Fedora.

How MATE Desktop looks:

x2go connected mate 1

Installing KDE Plasma Desktop

KDE Plasma is among the most popular desktop environments for modern Linux distros. KDE Plasma is (relatively) fully featured and not as light-weight as XFCE or LXDE.

KDE Plasma uses the KWin window manager to provide an interface very similar to the Windows operating system. KDE is the default desktop environment for Fedora KDE Plasma Desktop edition, KDE neon, and OpenSUSE among others.

How KDE Plasma Desktop looks:
word image 1 1

Step 3: Install the X2Go Client on your Computer

X2Go has two components – the X2Go Server, which is installed on the computer you want to remote control, and the X2Go Client, which is installed on the computer from which you want to remote control.

Now that we’ve got our desktop environment installed on your server, along with the X2Go Server, let’s go ahead and download the X2Go client from their page at https://wiki.x2go.org/doku.php

Step 4: Connecting to the Remote Desktop

Go ahead and run the X2Go Client that you’ve just installed on your computer. The first time you run it you should see the following window, where you create your session. If you don’t see it then create a new session by clicking in the top menu, in the upper left corner, on Session → New Session.

x2go create new session 1

In the Session Name field, you can name your session for ease of access – this doesn’t influence the connection in any way and it’s just for your reference. As you can see on the right, I’ve created multiple sessions to connect to the same server and named them according to what desktop environment I’m using.

In the Host field enter your server’s hostname or IP address.

In the Login field enter the user you used for your SSH connection.

In the SSH Port field enter the port your server uses for SSH, which is 22 by default.

In the Use RSA/DSA key for ssh connection, you can add your private key if you want to connect via SSH Keys. In my case, I’m not using SSH keys so I’ll just leave that empty, and X2Go will ask for my password when I click to launch the session.

In the Session type dropdown select the option that matches the desktop environment you installed. In our case, choose between XFCE, LXDE, MATE, or KDE, depending on which environment you have installed.

Additionally, you can click on the little seal image, next to Possible Issues/Errors

Connection Failed. Mesg: ttyname failed: Inappropriate ioctl for device

In case you get this error, one more thing we need to do before connecting is to edit /root/.profile.

connection failed ttyname failed inappropriate ioc 1

To fix this, SSH into your server if you’re not already connected and edit /root/.profile with your preferred text editor. I’m a nano guy, so I’ll use nano:

It probably looks like this at first:

Save and close the file when you’re finished and try connecting to the server again. It should work without problems.

SSH daemon could not be started

In some versions of the X2Go Client, you may get this error when launching the session, although you can just close the error window and continue your work uninterrupted. As you can see in the following screenshot, you can still continue with the session despite the error.

word image 1 2

The current fix we’re aware of for this is disabling Client-side printing support.

Tho do this, open the Session preferences for the session you want to launch and go to the Media tab. Under that tab, you’ll see a checkbox with the text Client-side printing support.

word image 1

Uncheck it and then click OK to save the session preferences and try to connect again. This time the connection should go seamlessly.

Conclusion

If you’d like to dig deeper then you can check out X2Go’s Official Documentation.

Hopefully, this tutorial worked for you. If something went wrong, leave us a comment or contact us, and we’ll try to help ASAP.

Get a High RAM VPS at Entry-level Pricing

Источник

Некоторое время назад я показывал, как можно получить удаленный доступ к рабочему столу Linux. Там мы делали это через xrdp и x11vnc. В целом метод нормальный, и работает неплохо, но что делать если нужно что бы несколько человек подключались к компьютеру и у каждого открывалась своя сессия? В принципе xrdp так умеет (для этого в качестве порта подключения нужно указать -1 и сделать что бы спрашивалось имя в конфиге /etc/xrdp/xrdp.ini), но мне он не очень понравился из за быстродействия, периодически возникающих ошибках и т.п.

Так же можно использовать xrdp в связке с x11rdp. Он в общем то тоже рабочий, но очень трудоемкий в настройке. (Нужно все собирать из исходников, при этом, что бы заработала русская раскладка клавиатуры исходники нужно править, нужно редактировать целую кучу конфигов и т.д.)

Короче ниже будет показан еще один способ получения доступа к удаленному рабочему столу в Ubuntu, точнее сказать не просто получение доступа, а создание практически полноценного терминального сервера на Ubuntu, без использования XRDP, который можно развернуть буквально за 3 минуты.

Использовать мы будем X2go, сайт проекта — http://wiki.x2go.org/doku.php

Эта штука пробрасывает иксы по SSH, без использования vnc или rdp.

Для установки серверной части набираем в терминале:

sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession
sudo /etc/init.d/x2goserver restart

После этого нужно установить какой нибудь оконный менеджер, т.к. Unity не работает. Мне понравился LXDE, для его установки набираем:

sudo apt-get install lubuntu-core lubuntu-icon-theme lubuntu-restricted-extras

Сервер установлен, после этого нужно установить клиент, качаем его (ссылка для винды), для Linux или MacOS можно найти ссылки и порядок установки на сайте проекта.

Устанавливаем его и запускаем. Жмем кнопку Сессия и выбираем – Новая сессия

Заполняем поля, можно использовать SSH туннель, если поставить галочку – Использовать прокси сервер для SSH соединений.

В типе сессии выбираем LXDE. Так же можно выбрать приложение, и пробрасывать только окно программы (эдакий RemoteAPP). Но в этом режиме могут возникать проблемы с раскладкой клавиатуры.

Для ускорения быстродействия на вкладке медиа можно выключить звук, а на вкладке соединение подобрать параметры сжатия и задать скорость соединения.

Жмем кнопку ОК. Подключаемся к нашему компьютеру/серверу, вводим пароль пользователя и соединение будет установлено.

Для того что бы в LXDE заработало переключение раскладки, щелкаем правой кнопкой мыши по нижней панели и выбираем добавить/убрать элементы панели.

В открывшемся окне щелкаем добавить,  находим Обработчик раскладки клавиатуры и добавляем его.

Рядом с часами появится флаг текущей раскладки. Щелкаем по нему правой кнопкой мыши выбираем Настроить «Обработчик раскладки клавиатуры»

Убираем галку – сохранить системные раскладки, и добавляем русскую раскладку

После чего можно изменить сочетание клавиш для смены раскладки, для этого нужно нажать на кнопку под раскладками (grp:…).

Вот и все, теперь при подключении пользователя всегда будет работать переключение раскладок. В общем можно сказать что терминальный сервер готов.

Видео по теме:

Модераторы: dimbor, Модераторы разделов

yukirin

Сообщения: 16

Re: x2go

По поводу невозможности проброса папок в винде (win 8 и выше) на сервер.

Поподробнее можно?
Скачал Win8.1. Установил в виртуалке. Spool монтируется без ошибок. Папка с рабочего стола тоже или я не про то…
Изображение

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19805
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: x2go

Сообщение

Bizdelnick » 02.12.2016 00:00

Таки сгенерируйте уже ключи.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 02.12.2016 00:43

Bizdelnick писал(а): ↑

02.12.2016 00:00

Таки сгенерируйте уже ключи.

В винде? Вот такая ошибка, если детальнее
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for ‘/cygdrive/C/Users/*******/.x2go/etc/ssh_host_dsa_key’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
key_load_private: bad permissions
Could not load host key: /cygdrive/C/Users/**********************/.x2go/etc/ssh_host_dsa_key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available — exiting.
А ключи в папке лежат. Сейчас попробую cygwin поставить и через него поиграться с чмодами

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 05.12.2016 10:55

Установил себе последнюю сборку(4.0.5.2) win-клиента (предварительно зачистив реестр и папку .x2go) и получил окошко о невозможности printing and file sharing, озвученное здесь и в теме ошибка при подключении к серверу x2go с печатью.
А в режиме дебага сообщение описанное Tlon:

По поводу невозможности проброса папок в винде (win 8 и выше) на сервер. В режиме дебага ошибка failed to start user mode OpenSSH server
Это значит, что локально ssh-сервер не может подняться по какой-то причине и сгенерить себе ключи.

Правда от версии операционки это не зависит и на win7, и на win8 одно и тоже.

Так вот в режиме дебага в папке sshLogs в логе подключения висело сообщение что сервер не может подняться по причине отсутствия файлика ssh_host_dsa_key в то время как в этой папке лежал ключ ssh_host_rsa_key. Изучение changelog проекта показал что уже со сборки 4.0.5.2 они изменили тип аутентификации на rsa —

— src/onmainwindow.h: rename ONMainWindow::generateHostDsaKey () to
ONMainWindow::generateHostKey () and make key type selectible. Fixes:
#1003. Host key type selection currently only works within the code. Replace
calls to former ONMainWindow::generateHostDsaKey () with the generalized
function and request an RSA-type key.

в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Собственно, немножко анализа кода в части запуска ssh-сервера и подтвердил мои предположения… поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Изображение

Остается надеятся на исправление данной ошибки разработчиками в ближайшем будущем…

Предыдущий релиз 4.0.5.1 рабочий.

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 05.12.2016 12:09

yukirin писал(а): ↑

05.12.2016 10:55

Установил себе последнюю сборку(4.0.5.2) win-клиента (предварительно зачистив реестр и папку .x2go) и получил окошко о невозможности printing and file sharing, озвученное здесь и в теме ошибка при подключении к серверу x2go с печатью.
А в режиме дебага сообщение описанное Tlon:

По поводу невозможности проброса папок в винде (win 8 и выше) на сервер. В режиме дебага ошибка failed to start user mode OpenSSH server
Это значит, что локально ssh-сервер не может подняться по какой-то причине и сгенерить себе ключи.

Правда от версии операционки это не зависит и на win7, и на win8 одно и тоже.

Так вот в режиме дебага в папке sshLogs в логе подключения висело сообщение что сервер не может подняться по причине отсутствия файлика ssh_host_dsa_key в то время как в этой папке лежал ключ ssh_host_rsa_key. Изучение changelog проекта показал что уже со сборки 4.0.5.2 они изменили тип аутентификации на rsa —

— src/onmainwindow.h: rename ONMainWindow::generateHostDsaKey () to
ONMainWindow::generateHostKey () and make key type selectible. Fixes:
#1003. Host key type selection currently only works within the code. Replace
calls to former ONMainWindow::generateHostDsaKey () with the generalized
function and request an RSA-type key.

в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Собственно, немножко анализа кода в части запуска ssh-сервера и подтвердил мои предположения… поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Изображение

Остается надеятся на исправление данной ошибки разработчиками в ближайшем будущем…

Предыдущий релиз 4.0.5.1 рабочий.

Ну я пока в сорцы не лазил, видимо придется. Пока отписал в bug-track. В моем случае не работает любая версия программы с виндой версии равной или выше 8
С чем это связано — пока окончательно непонятно.

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19805
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: x2go

Сообщение

Bizdelnick » 05.12.2016 12:26

yukirin писал(а): ↑

05.12.2016 10:55

в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Вообще-то обычно создаются оба этих ключа, а в актуальных версиях openssh ещё и ecdsa.

yukirin писал(а): ↑

05.12.2016 10:55

поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Так делать не надо. Верните как было и сгенерируйте rsa-ключ отдельно. ssh-keygen -A должна делать сразу все нужные ключи, если не работает — ssh-keygen -t rsa -N » -f /путь/к/ssh_host_rsa_key

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 05.12.2016 13:16

Bizdelnick писал(а): ↑

05.12.2016 12:26

yukirin писал(а): ↑

05.12.2016 10:55

в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Вообще-то обычно создаются оба этих ключа, а в актуальных версиях openssh ещё и ecdsa.

yukirin писал(а): ↑

05.12.2016 10:55

поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Так делать не надо. Верните как было и сгенерируйте rsa-ключ отдельно. ssh-keygen -A должна делать сразу все нужные ключи, если не работает — ssh-keygen -t rsa -N » -f /путь/к/ssh_host_rsa_key

У меня клиент сам удачно генерит ключи, однако чмоды…Проверю завичит ли это каким-то образом от настроек сервака, в моем случает авторизация на сервере идет по ключу

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 05.12.2016 14:55

Не вижу никакого смысла в ручной генерации ключа т.к. программа в этом смысле абсолютно самодостаточна. Все необходимые команды она формирует и запускает самостоятельно.
Но в версии 4.0.5.2 при установке на чистую систему абсолютно все должны получить неработаюшую печать и проброс папок.
И произойдет это именно из-за этих буквочек. И чтобы не быть голословным ниже приведу выдержки из кода в которых происходит запуск ssh-сервера. Базовым методом в данном случае будет startWinServers() (он запускается из конструктора класса главного окна). Там можно проследить работу программы от сообщения — «Starting helper servers for Windows …» до сообщения — «User mode OpenSSH server started successfully.» либо «Failed to start user mode OpenSSH server.» в дебаг режиме.
Класс WinServerStarter это потомок класса QThread. Код isServerRunning приводить не буду т.к. в нем происходит просто проверка задействованнсти порта по номеру переданному в качестве параметра.

Каждый может увидеть где, что и как запускается.

При переустановке клиента на системе где до этого уже был установлен x2go клиент сгенерируется новый rsa ключ, но обрашение будет идти к ключу от предыдущей версии клиента т.е. к ключу dsa. По идее должно все работать, но согласитесь, как-то кривовато.

Код: Выделить всё

void ONMainWindow::startWinServers()
{

    x2goDebug<<"Starting helper servers for Windows ...";

    QString etcDir=homeDir+"/.x2go/etc";
    QDir dr ( homeDir );

    pulseServer=0l;

    WinServerStarter* xStarter = new WinServerStarter ( WinServerStarter::X,
            this );
    WinServerStarter* sshStarter = new WinServerStarter (
        WinServerStarter::SSH, this );



    if ( !embedMode || !config.confFS || ( config.confFS && config.useFs ) )
    {

        dr.mkpath ( etcDir );
        generateHostKey(RSA_KEY_TYPE);
        generateEtcFiles();
        sshStarter->start();
    }
    if(embedMode)
    {
        if ( !config.confSnd ||
                ( config.confSnd && config.useSnd ) )
        {
            startPulsed();
        }
    }
// #ifdef CFGCLIENT

    //x2goDebug<<"Xorg settings: "<< startXorgOnStart <<" useXming: "<< useXming;

    if ( useInternalX && (internalX== XMING))
    {
// #endif
        xStarter->start();
        xorgLogTimer=new QTimer ( this );
        connect ( xorgLogTimer,SIGNAL ( timeout() ),this,
                  SLOT ( slotCheckXOrgLog() ) );
        xorgLogTimer->start ( 500 );
// #ifdef CFGCLIENT
    }
    else
    {
        if (startXorgOnStart)
        {
            startXOrg();
        }
    }
// #endif
}

void WinServerStarter::run()
{
    switch ( mode )
    {
    case SSH:
        parent->startSshd();
        break;
    case X:
        parent->startXOrg();
        break;
    }
}

void ONMainWindow::generateHostKey(ONMainWindow::key_types key_type)
{
    ONMainWindow::key_types sanitized_key_type = UNKNOWN_KEY_TYPE;
    QString stringified_key_type = "";
    switch (key_type) {
        case RSA_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "rsa";
                               break;
        case DSA_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "dsa";
                               break;
        case ECDSA_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "ecdsa";
                               break;
        case ED25519_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "ed25519";
                               break;
        default:
                               sanitized_key_type = UNKNOWN_KEY_TYPE;
                               stringified_key_type = "unknown";
    }

    if (sanitized_key_type == UNKNOWN_KEY_TYPE) {
        QMessageBox::critical (this, tr ("Host key type selection error"),
                               tr ("Unknown host key selected.nTerminating application."));
        close ();
    }

    QString etcDir = homeDir + "/.x2go/etc/";
    QDir dr (homeDir);
    dr.mkpath (etcDir);
    QString private_key_file = etcDir + "/ssh_host_" + stringified_key_type + "_key";
    QString public_key_file = private_key_file + ".pub";

    if ((!(QFile::exists (private_key_file))) || (!(QFile::exists (public_key_file))))
    {
        x2goDebug << "Generating host key. Type: " << stringified_key_type;

#ifdef Q_OS_WIN
        private_key_file = cygwinPath (wapiShortFileName (etcDir))
                         + "/ssh_host_" + stringified_key_type + "_key";
#endif

        QStringList args;
        args << "-t"
             << stringified_key_type
             << "-N"
             << ""
             << "-C"
             << QString ("X2Go Client " + stringified_key_type + "host key")
             << "-f"
             << private_key_file;
        QProcess::execute ("ssh-keygen", args);
    }
}

void ONMainWindow::generateEtcFiles()
{
    QString etcDir=homeDir+"/.x2go/etc";
    QString varDir = homeDir + "/.x2go/var";
    QDir dr ( homeDir );
    dr.mkpath ( etcDir );
    dr.mkpath (varDir);
    QFile file ( etcDir +"/sshd_config" );
    if ( !file.open ( QIODevice::WriteOnly | QIODevice::Text ) )
        return;
#ifdef Q_OS_WIN
    QString authKeyPath=cygwinPath ( homeDir+"/.x2go/.ssh/authorized_keys" );
    authKeyPath.replace(wapiGetUserName(),"%u");
#endif
    QTextStream out ( &file );
    out<<"StrictModes non"<<
         "UsePrivilegeSeparation non"<<
         "PidFile "" + varDir + "/sshd.pid"n" <<
#ifdef Q_OS_WIN
         "Subsystem shell "<< wapiShortFileName ( appDir) +"/sh"+"n"<<
         "Subsystem sftp "<< wapiShortFileName ( appDir) +"/sftp-server"+"n"<<
         "AuthorizedKeysFile ""<<authKeyPath<<""n";
#else
         "Subsystem sftp "
    /* This may need some sanitization, i.e., appDir could potentially include whitespace. */
       <<appDir<<"/sftp-servern";
#endif

    /* The log file in startSshd() is specific to Windows. */
#ifdef Q_OS_WIN
    if (debugging){
        out<<"LogLevel DEBUG1n";
    }
#endif
    file.close();
    x2goDebug<<etcDir +"/sshd_config created.";
}

bool ONMainWindow::startSshd()
{
    if ( embedMode && config.confFS && !config.useFs )
    {
        return false;
    }
#ifdef Q_OS_LINUX
    clientSshPort = "7022";
#else // defined (Q_OS_LINUX)
#ifdef Q_OS_DARWIN
    // Should also automatically create keys if Remote Login is enabled
    // under Sharing in System Preferences.
    if (!isServerRunning (clientSshPort.toInt ())) {
      clientSshPort = "7022";
    }
#endif // defined (Q_OS_DARWIN)
#endif // defined (Q_OS_LINUX)
    QString etcDir=homeDir+"/.x2go/etc";
    int port=clientSshPort.toInt();
    //clientSshPort have initvalue
    while ( isServerRunning ( port ) )
        ++port;
    clientSshPort=QString::number ( port );
#ifdef Q_OS_WIN
    std::string clientdir=wapiShortFileName ( appDir ).toStdString();
    std::stringstream strm;
    std::string config="""+cygwinPath(etcDir+"/sshd_config").toStdString()+""";
    std::string key="""+cygwinPath(etcDir+"/ssh_host_dsa_key").toStdString()+""";

    // generate a unique sshLog filepath, and create its directory
    if (debugging)
    {
        QDir* sshLogsDir= new QDir( homeDir+"/.x2go/sshLogs" );
        if (!sshLogsDir->exists())
            sshLogsDir->mkpath(".");

        QTemporaryFile* sshLogTemp=new QTemporaryFile ( sshLogsDir->absolutePath()+"/XXXXXX.log" );
        sshLogTemp->open();
        sshLog=sshLogTemp->fileName();
        sshLogTemp->close();

        delete sshLogsDir;
        delete sshLogTemp;
        x2goDebug<<"Logging cygwin sshd to: "<<sshLog;
    }

    strm<<clientdir<<"\sshd.exe -D -p "<<clientSshPort.toInt()<<" -f "<< config <<" -h "<<key;
    if (debugging){
        strm<<" -E "<<"""<<sshLog.toStdString()<<""";
    }

    STARTUPINFOA si;
    std::string desktopName="x2go_";
    desktopName+=getenv ( "USERNAME" );
    char* desktop=new char[desktopName.size() +1];
    strcpy ( desktop,desktopName.c_str() );

    x2goDebug<<"Creating desktop: "<<desktop;

    if ( !CreateDesktopA (
                desktop,
                0,
                0,
                0,
                GENERIC_ALL,
                0
            ) )
    {
        strcpy ( desktop,"" );

        x2goDebug<<"Desktop creation failed, using default.";

    }
    ZeroMemory ( &si, sizeof ( si ) );
    ZeroMemory ( &sshd, sizeof ( sshd ) );
    si.lpDesktop=desktop;
    si.cb = sizeof ( si );
    CreateProcessA ( NULL,  // No module name (use command line)
                     ( LPSTR ) strm.str().c_str(),  // Command line
                     NULL,           // Process handle not inheritable
                     NULL,           // Thread handle not inheritable
                     TRUE,          // Set handle inheritance to FALSE
                     0/*CREATE_NO_WINDOW|CREATE_NEW_PROCESS_GROUP*/,
                     //creation flags
                     NULL,           // Use parent's environment block
                     clientdir.c_str(), // Starting directory
                     &si,            // Pointer to STARTUPINFO structure
                     &sshd );// Pointer to PROCESS_INFORMATION structure
    /* FIXME: test successful SSH daemon startup */
    delete []desktop;
    winSshdStarted=true;
#else // defined (Q_OS_WIN)
    userSshd=true;

    sshd=new QProcess ( this );

    QString binary = appDir + "/sshd";
#ifdef Q_OS_DARWIN
    binary = "/usr/sbin/sshd";
#endif // defined (Q_OS_DARWIN)

    QStringList arguments;
    arguments<<"-f"<<etcDir +"/sshd_config"<< "-h" <<
             etcDir+"/ssh_host_dsa_key"<<"-D"<<"-p"<<clientSshPort;

    sshd->start (binary, arguments);
#endif // defined (Q_OS_WIN)

    // Allow sshd a grace time of 3 seconds to come up.
    QTime sleepTime = QTime::currentTime ().addSecs (3);
    while (QTime::currentTime () < sleepTime) {
        QCoreApplication::processEvents (QEventLoop::AllEvents, 100);
    }

    if (!isServerRunning (clientSshPort.toInt ())) {
        printSshDError_startupFailure ();
        x2goDebug << "Failed to start user mode OpenSSH server.";
        return (false);
    }
    else {
        x2goDebug << "User mode OpenSSH server started successfully.";
        return (true);
    }
}

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19805
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: x2go

Сообщение

Bizdelnick » 05.12.2016 15:12

yukirin писал(а): ↑

05.12.2016 14:55

Не вижу никакого смысла в ручной генерации ключа т.к. программа в этом смысле абсолютно самодостаточна.

Судя по приведённому Вами коду, это явный баг. Смысл в ручной генерации в таком случае есть — обойти (workaround) этот баг.

yukirin писал(а): ↑

05.12.2016 14:55

И произойдет это именно из-за этих буквочек.

Согласитесь, всё же не из-за буквочек, а из-за того, что они означают. ☺

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 05.12.2016 15:23

Судя по приведённому Вами коду, это явный баг. Смысл в ручной генерации в таком случае есть — обойти (workaround) этот баг.

В принципе да, согласен.

Согласитесь, всё же не из-за буквочек, а из-за того, что они означают.

Согласен.

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 05.12.2016 23:27

Все понятно, но вопрос остается открытым :)
Полностью выкосил клиента, почистил реестр и все его следы во временных каталогах и т.д.
Установил последнюю версию. Сначала в логе ошибка на отсутствие dsa ключа, хотя прога сгенерила rsa ключи.
Подсунул ей dsa ключ. Пошла ругня на чмоды.

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 06.12.2016 23:12

Подсунул ей dsa ключ. Пошла ругня на чмоды.

Сейчас попробую cygwin поставить и через него поиграться с чмодами

Ну как ставили? Игрались?

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 07.12.2016 00:35

yukirin писал(а): ↑

06.12.2016 23:12

Подсунул ей dsa ключ. Пошла ругня на чмоды.

Сейчас попробую cygwin поставить и через него поиграться с чмодами

Ну как ставили? Игрались?

Да, но не помогло. Так до конца и не понять какой тут workaround, надежда на следующую версию. Проект развивается, так что есть большие надежды, что допилят.
Зато на линуксе как хорошо клиент работает :)

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 07.12.2016 09:48

Вообще, как я понял, вызов команды chmod 600 key не всегда эффективен. Вот по этой ссылке описывается решение вашей проблемы с добавлением еще одной команды chgrp Users key. Там же, в комментариях, приводится вариант исправления при помощи команды — setfacl.
У меня тоже появляются такие же сообщения о чрезмерной открытости ключа при применении к файлу ключа команды, скажем. chmod 777, но мне достаточно вызвать chmod 600 чтобы вернуть все обратно.

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 07.12.2016 12:34

yukirin писал(а): ↑

07.12.2016 09:48

Вообще, как я понял, вызов команды chmod 600 key не всегда эффективен. Вот по этой ссылке описывается решение вашей проблемы с добавлением еще одной команды chgrp Users key. Там же, в комментариях, приводится вариант исправления при помощи команды — setfacl.
У меня тоже появляются такие же сообщения о чрезмерной открытости ключа при применении к файлу ключа команды, скажем. chmod 777, но мне достаточно вызвать chmod 600 чтобы вернуть все обратно.

Да, помогло. Спасибо. Достаточно было только сделать chgrp Пользователи *
Все стартануло без ошибок. Но! Папка так и не пробросилась! :)
Тупик товарищи :)
P.S. ключи брал с предыдущей версии т.к. прога хотела dsa-ключи в то время как сама генерила rsa-ключи. Такое вот.

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 07.12.2016 13:04

Попробуйте всетаки вручную перегенерировать ключи (как вам советовал Bizdelnick) из командной строки, скажем так

Код: Выделить всё

C:Program Files (x86)x2goclient> ssh-keygen -t dsa -N '' -C 'X2Go Client dsa host key' -f 'C:UsersNameUserHere.x2goetcssh_host_dsa_key'

набор параметров, для аутентичности, взят из клиента.

И при необходимости примените chmod|chgrp.

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 07.12.2016 13:18

yukirin писал(а): ↑

07.12.2016 13:04

Попробуйте всетаки вручную перегенерировать ключи (как вам советовал Bizdelnick) из командной строки, скажем так

Код: Выделить всё

C:Program Files (x86)x2goclient> ssh-keygen -t dsa -N '' -C 'X2Go Client dsa host key' -f 'C:UsersNameUserHere.x2goetcssh_host_dsa_key'

набор параметров, для аутентичности, взят из клиента.

И при необходимости примените chmod|chgrp.

Попробовал. Результат тот же.
В обоих случаях в логе обнаружил такое: Couldn’t create pid file «/X2GOCL~1/C:/Users/UserName/.x2go/var/sshd.pid»: No such file or directory
Может в этом затык… У вас он есть этот файлик?

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 07.12.2016 13:27

pid file «/X2GOCL~1/C:/Users/UserName/.x2go/var/sshd.pid»: No such file or directory

Это на работу не влияет. Вообще конечно трудно занматся гаданием…

Хотелось бы посмотреть sshd_config из папки etc.

Может win firewall что-нибудь блокирует…

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 07.12.2016 13:41

yukirin писал(а): ↑

07.12.2016 13:27

pid file «/X2GOCL~1/C:/Users/UserName/.x2go/var/sshd.pid»: No such file or directory

Это на работу не влияет. Вообще конечно трудно занматся гаданием…

Хотелось бы посмотреть sshd_config из папки etc.

Может win firewall что-нибудь блокирует…

sshd_config:
StrictModes no
UsePrivilegeSeparation no
PidFile «C:/Users/UserName/.x2go/var/sshd.pid»
Subsystem shell C:/PROGRA~2/X2GOCL~1/sh
Subsystem sftp C:/PROGRA~2/X2GOCL~1/sftp-server
AuthorizedKeysFile «/cygdrive/C/Users/%u/.x2go/.ssh/authorized_keys»
LogLevel DEBUG1

Firewall отключал

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 07.12.2016 14:51

sshd_config корректен. Идей пока нет. Может вы до кучи выложете лог из папки sshLogs и содержимое консольного окошка при подключении.

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 07.12.2016 15:00

yukirin писал(а): ↑

07.12.2016 14:51

sshd_config корректен. Идей пока нет. Может вы до кучи выложете лог из папки sshLogs и содержимое консольного окошка при подключении.

А! вот что высмотрел в логе

Did not receive identification string from 127.0.0.1

Unable to negotiate with 127.0.0.1: no matching host key type found. Their offer: ssh-dss-cert-v01@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-dss,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa
debug1: do_cleanup

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 08.12.2016 12:17

yukirin писал(а): ↑

08.12.2016 09:04

Предположу что клиент и сервер не пришли к окончательному соглашению по выбору алгоритма обмена ключами. Здесь подробнее…

Был там, читал. Пробовал изменить конфигурационный файл для ssh, но не помогло,этот файл каждый раз заново генерируется
Все-таки думаю, что проблема проброса папки кроется не в ключах. Вот на винде ХРх32 в режиме дебага папка не пробрасывается, а в обычном режиме всё хорошо. И замечу, в последнем клиенте используются rsa-ключ.

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 08.12.2016 15:33

Собственно процесс проброса папок начинается с… генерации еще одного rsa ключа на клиентской машине. Вы можете это увидеть открыв папку C:UsersХХХХХ.x2gosshgen и понаблюдав содержимое этой папки при подключении. Буквально на долю секунды можно увидеть как они там появляются. Соответственно на это же время изменяется содержимое файла C:UsersХХХХХ.x2go.sshauthorized_keys.
Затем закрытая часть передается в папку — /home/administrator/.x2go/ssh/ на серверную машину, которая (машина) будет выступать клиентом по отношению к клиентской машине.
Далее на серверной машине запускается перл скрипт — x2gomountdirs, который после некоторой предварительной работы, в цикле равном количеству пробрасываемых папок + спул папка выполняет команду —

Код: Выделить всё

if (system("timeout 30 sshfs $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,$umaskstr,ServerAliveInterval=300,IdentityFile=$key,UserKnownHostsFile=$key.ident "$user"@$host:"@dirs[$i]" "$mntpath" -p $port 1>>$sessiondir/sshfs-mounts.log 2>&1")==0)

и формирует необходимые ярлыки на раб. столе. В заключении выполняется зачистка.

Весь процесс проброса довольно подробно присутствует в консольном окошке в дебаг режиме.

Вообще после запуска x2goклиента у вас на клиентской машине получается запушеный ssh-сервер на 7022 порту(каждый последующий клиент увеличивает эту цифру на единицу).
Поэтому можно попытаться примонтировать(sshfs) win-папку в ручном режиме с дебаг опциями команды разного уровня.
Можно попытаться запустить ssh сервер вручную —

Код: Выделить всё

"C:Program Files (x86)x2goclientsshd.exe" -D -p 7022 -f /cygdrive/C/Users/user/.x2go/etc/sshd_config -h /cygdrive/C/Users/user/.x2go/etc/ssh_host_dsa_key -E /cygdrive/C/Users/user/.x2go/sshLogs/sshLog.log

вообще лепи любые конфиги, ключи и уровни логлевел….

Если есть желание и время то поле для экспериментов широкое…

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 09.12.2016 10:47

Был там, читал. Пробовал изменить конфигурационный файл для ssh, но не помогло,этот файл каждый раз заново генерируется
Все-таки думаю, что проблема проброса папки кроется не в ключах. Вот на винде ХРх32 в режиме дебага папка не пробрасывается, а в обычном режиме всё хорошо. И замечу, в последнем клиенте используются rsa-ключ.

Если для вас все еще это актуально то попробуйте всетаки вставить в файл sshd_config строку — HostKeyAlgorithms=*
Только после этого запретите для всех пользователей/групп все write|change|delete на этом файле

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 09.12.2016 10:54

yukirin писал(а): ↑

09.12.2016 10:47

Был там, читал. Пробовал изменить конфигурационный файл для ssh, но не помогло,этот файл каждый раз заново генерируется
Все-таки думаю, что проблема проброса папки кроется не в ключах. Вот на винде ХРх32 в режиме дебага папка не пробрасывается, а в обычном режиме всё хорошо. И замечу, в последнем клиенте используются rsa-ключ.

Если для вас все еще это актуально то попробуйте всетаки вставить в файл sshd_config строку — HostKeyAlgorithms=*
Только после этого запретите для всех пользователей/групп все write|change|delete на этом файле

Клиент каждый раз заново создает этот файл, т.е. все правки которые вносятся пропадают

yukirin

Сообщения: 16

Re: x2go

Сообщение

yukirin » 09.12.2016 11:06

Вам надо запретить на этом файле его изменение|удаление средствами операционки через закладку безопасность.
св-ства файла->кн. дополнительно->кн. изм. разрешения->убираем галку с Добавить разрешения, наследуемые…..->для кажого польз.|группы жмем кн. изменить-> убираем галки со всех пунктов где видим создание, запись, удаление, смена

Tlon

Сообщения: 47

Re: x2go

Сообщение

Tlon » 11.12.2016 15:41

yukirin писал(а): ↑

09.12.2016 11:06

Вам надо запретить на этом файле его изменение|удаление средствами операционки через закладку безопасность.
св-ства файла->кн. дополнительно->кн. изм. разрешения->убираем галку с Добавить разрешения, наследуемые…..->для кажого польз.|группы жмем кн. изменить-> убираем галки со всех пунктов где видим создание, запись, удаление, смена

Подожду следующую версию, похоже она скоро будет

Windows Servers are the main candidate for Remote Desktop Connection. However you don’t always need Windows, and you just need a server with a GUI. On top of that, Linux servers are a lot cheaper.

You may have tried VNC or xRDP to remotely connect your Ubuntu server and found them to be sluggish and are desperately searching for an alternative. While they are great solutions, in some instances they are slow, clunky, and can be insecure.

Installing X2Go on Ubuntu 20.04: This guide should also apply to installing X2Go on Ubuntu 20.04, except for the last part where we discuss fixing an error, because you won’t encounter that issue. For a more detailed guide specifically on installing on Ubuntu 20.04, you can check out Connect to Ubuntu 20.04 Remote Desktop using X2Go on ByteXD.com.

Introduction

I’m not sure why, but X2Go is not as popular as a solution as VNC or xRDP. Frankly, I find that appalling. Why? Because it’s a whole lot faster and provides a smoother experience than other remote desktop solutions.

Table of Contents
  1. Introduction
    1. How Does X2Go Work
    2. Is X2Go Safe?
    3. Why Use X2Go? What are the advantages?
  2. Prerequisites
  3. Step 1: Install X2Go
  4. Step 2: Install Your Preferred Desktop Environment
    1. What is a Desktop Environment
    2. Installing XFCE
    3. Installing LXDE
    4. Installing MATE Desktop
    5. Installing KDE Plasma Desktop
  5. Step 3: Install the X2Go Client on your Computer
  6. Step 4: Connecting to the Remote Desktop
  7. Possible Issues/Errors
  8. Conclusion

How Does X2Go Work

X2Go is an open-source remote desktop software for Linux distributions. It provides a smooth and speedy connection even with slow internet. The question is how does X2Go work so fast?

X2Go uses a modified NX protocol that compresses data to minimize the amount of information transmitted. The NX protocol is what makes X2Go faster than other remote desktop solutions. It caches data to make the session as fast and responsive as possible.

For instance, if you open a menu for the first time, it will take a few seconds. On the second time, it will open almost instantaneously.

The connection is not only fast but also secure. NX protocol uses the SSH protocol to encrypt data before sending it through the network.

X2Go requires two components to work:

  • Server: it is the remote desktop that is being accessed by the X2Go client. It’s where the sessions are started and maintained. The X2Go client can only be installed on a Linux distribution.
  • Client: it’s an application that is used to access the remote computer (AKA X2Go server). The X2Go client is not exclusive to the Linux distribution. You can install and use it on Windows, Mac OS, and almost all Linux distributions.

X2Go uses older NX libraries. That is why it may have issues on newer 3D desktop environments such as Gnome/Unity or KDE. In our experience KDE has worked without a hitch with Ubuntu 18.04, but we couldn’t manage to get X2Go to work with GNOME. In some cases you can get some environments to work with a workaround.

If you do find one for GNOME and you’d like to share it, then we’d love to hear from you!

Nearly all older desktop environments such as LXDE and XFCE work without an issue and are marked as being always supported on the X2Go website.

A great thing about X2Go is that it also has a browser plugin available. You can remotely access another PC (X2Go server) from your web browser. On the web interface, even iOS and Android clients are available.

Note: if you are using X2Go over the web then port forwarding and Dynamic DNS are recommended.

Is X2Go Safe?

Yes, X2Go is safe to use.

X2Go uses an NX protocol to transmit information through a secure SSH connection. The SSH protocol is a network protocol that encrypts your data and makes it secure over an insecure network. SSH protocol is the popular choice for securing logins from one computer to another.

Why Use X2Go? What are the advantages?

X2Go is not as popular as VNC but there are several advantages to using X2Go. A few advantages of X2Go are:

  • Faster than other remote desktop solutions
  • Supports remote audio transmission, file sharing, clipboard, printing, and much more
  • Easy to set up and use
  • A readily available browser plugin for easy access and usage
  • Secure connection via SSH protocol

After following this tutorial you’ll have a Ubuntu desktop that you can easily connect to, and hopefully, get your work done with more ease.

Prerequisites

  • A server running Ubuntu 18.04 with a minimum of 2GB RAM is recommended. It would be even better with 4GB+ RAM.
  • A non-root user with Sudo privileges. Accessing X2Go as a root user is not recommended. With the root privileges, a user can alter almost anything and everything on your computer. This can in turn compromise the integrity of your system and the data on it. <!– explanation on why not root –>

Get a High RAM VPS at Entry-level Pricing

Starting with 2GB RAM at $6.99/month

Take your pick from our KVM VPS that offer a generous amount of RAM at an affordable price. We’ve got 5 plans for you to choose from, our smallest featuring 2GB RAM at $6.99/mo.

[Main Features]
  — SSD Drives
  — KVM Virtualization
  — 1Gbps Shared Uplink
  — Location: Chicago, IL

Pick one of our KVM plans

Step 1: Install X2Go

We’ll need to add the PPA reference for X2Go, but your server may not have the add-apt-repository command available.

To fix that run the following command:

$ sudo apt-get install software-properties-common

Now let’s add X2Go’s PPA:

$ sudo add-apt-repository ppa:x2go/stable

Next, refresh the database of the available software packages by running:

$ sudo apt-get update

We can now install X2Go by running:

$ sudo apt-get install x2goserver x2goserver-xsession

With X2Go installed, we’ll now need to install a desktop environment on our server.

Step 2: Install Your Preferred Desktop Environment

What is a Desktop Environment

Most Linux users, especially the most advanced tech maestros prefer the command line. It’s what Linux is known for.

It might sound surprising to most people that Linux offers an excellent graphical interface on top of its powerful shell. But that’s not all!

What’s different about the Linux interface is that you can choose your own desktop environment.

Note: DO NOT confuse Linux distributions with desktop environments.

A Linux distribution also known as Linux distro is an operating system made from a collection of software that is based upon the Linux kernel. Some Linux distros look very similar to each other and are even confused with one another. An example of such distributions can be Ubuntu and Linux Mint.

A desktop environment is installed on top of a Linux distribution as a software. The purpose of a desktop environment is to make the interface user-friendly. In Linux, the GUI is made up of four layers:

  • X-server
  • X-client
  • Windows manager
  • Desktop environment

These four layers get together to create the interface that we see on our computer screens.

In this tutorial, we’ll install XFCE, LXDE, MATE Desktop, and KDE Plasma Desktop. You can install whichever you prefer, or you can install all of them, and decide which one to use from X2Go.

XFCE and LXDE are more lightweight, so they’re recommended if you want your desktop environment to use fewer resources.

We’ll also focus on installing Minimum Desktop Environment, which means you’ll install only the core features and add other packages only if you need them.

Installing XFCE

XFCE is the most light-weight desktop environment. XFCE is also the recommended desktop environment for X2Go. XFCE seamlessly provides core functionality and requires fewer resources. This makes XFCE faster and an excellent choice for X2Go remote desktop.

$ sudo apt-get install xfce4

How XFCE looks:

x2go_connected_xfce

Installing LXDE

LXDE is our second recommendation for X2Go. It’s also very light-weight and requires fewer resources as compared to other desktop environments.

The GUI in LXDE is very basic but user-friendly. It’s known to work well with X2Go with composting disabled. Although, XFCE provides a higher number of features as compared to LXDE.

LXDE is the default desktop environment of Knoppix, Artix LXLE Linux, and Peppermint Linux OS (among others).

$ sudo apt-get install lxde

How LXDE looks:

x2go_connected_lxde

Installing MATE Desktop

MATE is one of the most popular desktop environments in Linux. MATE is a continuation of the GNOME 2 desktop environment. It was named MATE to avoid confusion with GNOME.

MATE was born when GNOME 3 replaced the traditional menu bar and taskbar. It created quite a frenzy among GNOME loyalists causing major controversy in the Linux and GNU community.

MATE is supported in almost all Linux distros including Debian, Ubuntu, and Fedora.

$ sudo apt-get install mate-core mate-desktop-environment mate-notification-daemon

How MATE Desktop looks:

x2go_connected_mate

Installing KDE Plasma Desktop

KDE Plasma is among the most popular desktop environments for modern Linux distros. KDE Plasma is (relatively) fully featured and not as light-weight as XFCE or LXDE.

KDE Plasma uses the KWin window manager to provide an interface very similar to the Windows operating system. KDE is the default desktop environment for Fedora KDE Plasma Desktop edition, KDE neon, and OpenSUSE among others.

$ sudo apt install kde-plasma-desktop

How KDE Plasma Desktop looks:

Step 3: Install the X2Go Client on your Computer

X2Go has two components – the X2Go Server, which is installed on the computer you want to remote control, and the X2Go Client, which is installed on the computer from which you want to remote control.

Now that we’ve got our desktop environment installed on your server, along with the X2Go Server, let’s go ahead and download the X2Go client from their page at https://wiki.x2go.org/doku.php

  • For Windows look for the link to Windows installer
  • For OS X, depending on your version, look for OS X 10.xx and higher DMG (The reason I’m not linking you directly because there will be new releases, most likely, and this way you’ll get the latest versions when you’re working – through this tutorial)
  • If you’re on Debian or Ubuntu you can install X2Go Client by running the following command:
$ sudo apt-get install x2goclient

Step 4: Connecting to the Remote Desktop

Go ahead and run the X2Go Client that you’ve just installed on your computer. The first time you run it you should see the following window, where you create your session. If you don’t see it then create a new session by clicking in the top menu, in the upper left corner, on Session → New Session.

x2go_create_new_session

In the Session Name field, you can name your session for ease of access – this doesn’t influence the connection in any way and it’s just for your reference. As you can see on the right, I’ve created multiple sessions to connect to the same server and named them according to what desktop environment I’m using.

In the Host field enter your server’s hostname or IP address.

In the Login field enter the user you used for your SSH connection.

In the SSH Port field enter the port your server uses for SSH, which is 22 by default.

In the Use RSA/DSA key for ssh connection, you can add your private key if you want to connect via SSH Keys. In my case, I’m not using SSH keys so I’ll just leave that empty, and X2Go will ask for my password when I click to launch the session.

In the Session type dropdown select the option that matches the desktop environment you installed. In our case, choose between XFCE, LXDE, MATE, or KDE, depending on which environment you have installed.

Additionally, you can click on the little seal image, next to << change icon, and browse to a different image to represent your session. I have also done that in the screenshot above and replaced it with the DraculaServers logo.

Click OK to save the session configuration.

You can now click on the session and a prompt should appear with your user already filled in and all you have to do is enter your SSH password and confirm to connect.

After a short wait, we should be connected to the server and see the desktop environment we installed & that we selected in our session.

Now you’ve got a working Ubuntu 18.04 Remote Desktop on which you can get your work done that’s always online.

Possible Issues/Errors

Connection Failed. Mesg: ttyname failed: Inappropriate ioctl for device

In case you get this error, one more thing we need to do before connecting is to edit /root/.profile.

connection_failed_ttyname_failed_inappropriate_ioctl_for_device

To fix this, SSH into your server if you’re not already connected and edit /root/.profile with your preferred text editor. I’m a nano guy, so I’ll use nano:

$ nano /root/.profile

It probably looks like this at first:

# ~/.profile: executed by Bourne-compatible login shells.
    
if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc
  fi
fi
    
mesg n || true

We’ll just have to change the last line by adding tty -s && at the beginning of the last line. It should look like this:

# ~/.profile: executed by Bourne-compatible login shells.
    
  if [ "$BASH" ]; then
    if [ -f ~/.bashrc ]; then
      . ~/.bashrc
    fi
  fi
    
tty -s && mesg n || true

Save and close the file when you’re finished and try connecting to the server again. It should work without problems.

SSH daemon could not be started

In some versions of the X2Go Client, you may get this error when launching the session, although you can just close the error window and continue your work uninterrupted. As you can see in the following screenshot, you can still continue with the session despite the error.

The current fix we’re aware of for this is disabling Client-side printing support.

Tho do this, open the Session preferences for the session you want to launch and go to the Media tab. Under that tab, you’ll see a checkbox with the text Client-side printing support.

Uncheck it and then click OK to save the session preferences and try to connect again. This time the connection should go seamlessly.

Conclusion

If you’d like to dig deeper then you can check out X2Go’s Official Documentation.

Hopefully, this tutorial worked for you. If something went wrong, leave us a comment or contact us, and we’ll try to help ASAP.

Get a High RAM VPS at Entry-level Pricing

Starting with 2GB RAM at $6.99/month

Take your pick from our KVM VPS that offer a generous amount of RAM at an affordable price. We’ve got 5 plans for you to choose from, our smallest featuring 2GB RAM at $6.99/mo.

[Main Features]
  — SSD Drives
  — KVM Virtualization
  — 1Gbps Shared Uplink
  — Location: Chicago, IL

Pick one of our KVM plans

Package: Windows Client
Version: 4.1.0.0

Using windows 10, I install X2Go client and on every connection the
SSH deemon error pops up. Disabling printing and file shareing does
fix it, but… ’tis not right.

Thanks.

[image: Inline images 1]

Control: reassign -1 x2goclient

Post by John Cobo
Package: Windows Client
Version: 4.1.0.0
Using windows 10, I install X2Go client and on every connection the SSH deemon error pops up. Disabling printing and file shareing does fix it, but… ’tis not right.
Thanks.

Please install the debug version and start X2Go Client via the debug symlink, if
possible from the command line and redirecting output to a file. I’ll need the
debug log to figure out what went wrong on your system.

Mihai

Post by Mihai Moldovan
reassign -1 x2goclient

Bug #1156 [windows client] SSH daemon could not be started
Warning: Unknown package ‘windows’
Warning: Unknown package ‘client’
Bug reassigned from package ‘windows client’ to ‘x2goclient’.
No longer marked as found in versions 4.1.0.0.
Ignoring request to alter fixed versions of bug #1156 to the same values previously set


1156: http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1156
X2Go Bug Tracking System
Contact ***@bugs.x2go.org with problems

X2Go enables to access a graphical desktop of a computer over the network. The protocol is tunneled through the Secure Shell protocol, so it is encrypted.

Note: X2Go is not compatible with all desktop environments. You can check X2Go desktop environment compatibility first. Compatibility is especially important if you want to connect to an existing Xorg session. In addition, X2Go does not support GLX 1.4 which is required for many graphical applications, including Firefox. Making those work requires further hacks.

Installation

Two parts are available. They can be installed with the following packages:

  • x2goserverAUR — X2Go server
  • x2goclientAUR — X2Go client based on Qt5

Server side

Configure Secure Shell daemon

X2Go uses Secure Shell in order to work, so you need to configure sshd daemon to allow X11 forwarding. Follow the instructions at OpenSSH#X11 forwarding and OpenSSH#Daemon management.

Check fuse kernel module is loaded

In order for the server to be able to access files on the client computer, the fuse module is needed.
One can check that lsmod | grep fuse returns a match, otherwise load the fuse kernel module.

Setup SQLite database

Run the following command on the server to initialize the SQLite database (which is required in order for the x2go server to work):

# x2godbadmin --createdb

Control published applications

X2Go can publish the installed applications in a menu to the client.
This is controlled by the files in /etc/x2go/applications/. This location however is not created by default and can be created by creating a symlink to /usr/share/applications/.
Alternatively instead of creating a symlink one could also create a folder and link only the desired applications instead.

See [1] for more information.

Start X2Go server daemon

Now all you need to do is start the system x2goserver.service.

Client side

Run X2Go Client on the client computer, the one that wants to access the server:

$ x2goclient

For the list of available options, see x2goclient(1)[dead link 2022-06-25].

Note: Make sure the client computer can open a SSH session to the server by checking from the client that ssh username@host is successful.

You can now create several sessions, which then appear on the right side and can be selected by a mouse click. Each entry consists of your username, hostname, IP, and port for SSH connection. Furthermore you can define several speed profiles (coming from modem up to LAN) and the desktop environment you want to start remotely.

Access the local desktop

To access the local desktop, the one currently running on the server rather than a new one, one can choose the option «X2Go/X11 Desktop Sharing» or «Connection to local desktop» (depending on the version of your client) in «session type» in the X2Go Client as long as the users match, if it is user foo accessing the session of user foo.

However to access the local desktop of a different user, one needs to install x2godesktopsharingAUR and launch x2godesktopsharing.

Exchange data between client and server (desktop)

On the X2Go client (e.g. laptop) local directories could be shared. The server will use fuse and SSHFS to access this directory and mount it to a subdirectory media of your home directory on the server. This enables you to have access to laptop data on your server or to exchange files. It is also possible to mount these shares automatically at each session start.

Leave a session temporarily

Another special feature of X2Go is the possibility of suspending a session. This means you can leave a session on one client and reopen it even from another client at the same point. This can be used to to start a session in the LAN and to reopen it later on a laptop. The session data are stored and administered in a SQLite database on the server in the meanwhile. The state of the sessions is protocolled by a process named x2gocleansessions.

Troubleshooting

The desktop environment does not start

Local session prevents X2Go new session

It happens that when a desktop session already runs locally and X2Go tries to start a new one, it fails.
This is typically an issue related to D-Bus, see [2] for details.

If D-Bus fails to start, try using a Custom desktop command instead of the default session type. For the command, use the desktop starter as an option of dbus-launch, for example dbus-launch startxfce4. This is a way to launch a session bus instance, set the appropriate environment variables so that the new session can find the bus.

Path issue

It may be that the desktop environment’s executable, startkde, startgnome or startxfce4 is not in the $PATH when logging in using SSH. In this case, do not simply choose the defaults of KDE, Gnome or XFCE but use the full paths to the executable, for example /usr/bin/startxfce4. You can also start openbox or another window manager.
You should be asked for your server’s password and user name, now and after login you will see the X2Go logo for a short time, and the desktop.

No selection screen in x2goclient

A regression in iproute2 causes ss to show no result when specifying the -u flag, as done in /usr/bin/x2golistdesktops. [3]

See [4], [5] for more information.

Sessions do not logoff correctly

Due to this bug the X2Go sessions might not logoff correctly. The script that initiates the session spits out many log lines that might confuse X2go. A simple workarround is to create a custom session script and redirect the log output either to a file or to /dev/null and then point your X2Go-client to this custom script.

Here is a sample script for an XFCE session:

 #!/bin/sh
 #
 #xfce4-session spits out quite a bit of text during logout, which I guess
 #confuses x2go so we would get a black screen and session hang.
 #adding redirect to a logfile like "~/logfile" or "/dev/null" nicely solved it
 # see https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=914
 /usr/bin/xfce4-session > /dev/null

Notification area disappeared

If you log in, but the notification area is missing, you can use exactly the same fix as for #Local session prevents X2Go new session.

Shared folders do not mount (Windows Clients)

The ssh-daemon used by the X2go windows client uses depreceated ssh-dss keys by default and because Arch does not accept them your shared folders will not mount. Check out this bug report for more information.

This can be solved on the windows side by generating different type of key:

 C:Program Files (x86)x2goclientssh-keygen -b 2048 -t rsa

And simply replace c:UsersUser.x2goetcssh_host_dsa_key and c:UsersUser.x2goetcssh_host_dsa_key.pub with the newly generated key files.

Other workarrounds from [6] might help, too.

Workaround for failing compositing window manager for remote session

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:X2Go)

This is useful for situations, when the computer running x2goserver is used also for local sessions with e.g. compiz as the window manager. For remote connections with x2goclient, compiz fails to load and metacity should be used instead. The following is for GNOME, but could be modified for other desktop environments. (Getting compiz ready is not part of this how-to.)

Create /usr/local/share/applications/gnome-wm-test.desktop:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=gnome-wm-test
Exec=/usr/local/bin/gnome-wm-test.sh
NoDisplay=true

Create script /usr/local/bin/gnome-wm-test.sh:

#!/bin/sh
# Script for choosing compiz when possible, otherwise metacity
# Proper way to use this script is to set the key to mk-gnome-wm
# /desktop/gnome/session/required_components/windowmanager
xdpyinfo 2> /dev/null | grep -q "^ *Composite$" 2> /dev/null
IS_X_COMPOSITED=$?
if [ $IS_X_COMPOSITED -eq 0 ] ; then
    gtk-window-decorator &
    WM="compiz ccp --indirect-rendering --sm-client-id $DESKTOP_AUTOSTART_ID"
else
    WM="metacity --sm-client-id=$DESKTOP_AUTOSTART_ID"
fi
exec bash -c "$WM"

Modify the following gconf key to start the session with gnome-wm-test window manager:

$ gconftool-2 --type string --set /desktop/gnome/session/required_components/windowmanager "gnome-wm-test"

/bin/bash: No such file or directory when connect (or what ever shell you use)

In you ssh configuration, if you chroot a user, this user need to have their own /bin directory inside their chrooted directory. If not, you will not be able to connect.

X2Go client: Cannot connect to remote X2Go server from local Wayland session: «The connection with the remote server was shut down»

X2Go client launches as expected from a local Wayland session but attempting to connect to a remote X2Go server fails. This problem is usually caused by Qt on Wayland.

Follow the instructions in Desktop entries#Modify environment variables and change the lines starting with

Exec=x2goclient

to

Exec=env QT_QPA_PLATFORM=xcb x2goclient

X2Go client: Cannot connect to xyz:22 — Could not apply options

x2go client can not parse custom user ssh configuration files with tokens.

This ssh configuration

Host xyz
    IdentitiesOnly yes
    IdentityFile %d/.ssh/%L.key

will result in connection failure with debug output:

x2go-DEBUG-../src/sshmasterconnection.cpp:622> "Cannot connect to xyz:22" - "Couldn't apply options"

This ssh configuration works:

Host xyz
    IdentitiesOnly yes
    IdentityFile ~/.ssh/mysupersecret.key

X2Go server: localhost ssh tunnel on server fails with sshd error: error: connect_to localhost port xyz: failed.

X2Go server requires IPv4 for localhost ssh tunnel on the server. If you configure the sshd server to use IPv6 only

AddressFamily inet6

X2Go client connections will fail.

Performance issues

In case of performance issues (applications are unresponsive or freeze), try to turn off sound support, printing support and file share tunneling.

See also

  • Screenshot KDE-Session
  • Screenshot configuration dialog
  • Home
  • Forum
  • The Ubuntu Forum Community
  • Ubuntu Specialised Support
  • Virtualisation
  • X2GO Issue

  1. June 12th, 2017


    #1

    Join Date
    Jun 2017
    Beans
    2

    Hello everyone!

    When I sign into my server with X2GO I just started getting a

    «SSH daemon could not be started, printing and file sharing for this session has been disabled» this happens every time I try and login and its pretty important that I have file sharing on.


  2. June 13th, 2017


    #2

    Join Date
    Mar 2010
    Location
    Squidbilly-Land
    Beans
    Hidden!
    Distro
    Ubuntu

    Re: X2GO Issue

    did it ever work?
    What is the network between the client and server like? Are there multiple routers? Are both systems running Ubuntu? Which OSes? Which versions? Which releases? Which DE does the x2go server provide?

    We can’t know anything you don’t tell us.

    Oh … and welcome to the forums.


Bookmarks

Bookmarks


Posting Permissions

All times are GMT +1. The time now is 11:44 AM.

vBulletin �2000 — 2023, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical � Canonical Ltd. Tango Icons � Tango Desktop Project.

User contributions on this site are licensed under the Creative Commons Attribution Share Alike 4.0 International License. For details and our forum data attribution, retention and privacy policy, see here

Forum rules
Before you post please read how to get help. Topics in this forum are automatically closed 6 months after creation.

linuxmint

X2go client on Mint 18.2 Cinnamon

Hi! As part of my job, I have to access a remote virtual machine and i have been told i have to do it using x2go client. So i search for an installation but there is non for linux mint 18.2 cinnamon. Should i follow the instructions here: «https://documentation.online.net/en/ded … _on_ubuntu» and install it as if i had an ubuntu? The reason i am asking is because I read that x2go was not supported for linux mint, so this still applies or it can now be installed?

Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.

Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.

Hoser Rob

Level 19
Level 19
Posts: 9611
Joined: Sat Dec 15, 2012 8:57 am

Re: X2go client on Mint 18.2 Cinnamon

Post

by Hoser Rob » Tue May 29, 2018 10:36 am

I’d try it anyway (use the 2nd one because there aren’t any supported 12,04 based Mints anymore), and please post where you read that it wasn’t; supported. It may be an issue or not.

If it says in the install process that it wants to remove something and you don’t know if it’s important, stop.

linuxmint

Re: X2go client on Mint 18.2 Cinnamon

Post

by linuxmint » Tue May 29, 2018 11:15 am

@Hoser Rob thank you for your answer! As you suggested i should post where i read that is not supported for Mint. So the site i am referring is: «https://mangolassi.it/topic/3241/instal … -mint-17-1» but i have to say i haven’t understand if it is about x2go client or x2go server and if the problem still exists for LM 18. Moreover i haven’t understand the solution given or how i should applied it. Should i install it as ubuntu and then type in a shell the commands given in the link? Forgive me if my question is «nooby» but i don’t have a lot of experience.

User avatar

thx-1138

Level 8
Level 8
Posts: 2110
Joined: Fri Mar 10, 2017 12:15 pm
Location: Athens, Greece

Re: X2go client on Mint 18.2 Cinnamon

Post

by thx-1138 » Tue May 29, 2018 11:43 am

…you can simply open up Synaptic and install x2goclient (End of story — be happy…who says it’s not available for Mint 18.x?)
Or alternatively via command line: sudo apt-get install x2goclient, et voilà…

And if for some reason you need a newer version than the default one…
https://launchpad.net/~x2go/+archive/ubuntu/stable
Copy/paste the commands from there in a terminal…
sudo apt-add-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goclient

linuxmint

Re: X2go client on Mint 18.2 Cinnamon

Post

by linuxmint » Tue May 29, 2018 5:24 pm

@ thx-1138 you were right! I just use the command line: sudo apt-get install x2goclient and it was installed.
But when i tried to connect to the remote server i got an error saying «SSH daemon could not be started». I don’t know if the error is relevant to the fact that i have Linux Mint or it is something wrong with my settings.

User avatar

thx-1138

Level 8
Level 8
Posts: 2110
Joined: Fri Mar 10, 2017 12:15 pm
Location: Athens, Greece

Re: X2go client on Mint 18.2 Cinnamon

Post

by thx-1138 » Wed May 30, 2018 12:45 am

I’m not familiar myself with x2go configuring, so hopefully someone else will pop up and speak out of his/her own experience.
What i do can tell with certainty though is that this should be 100% a matter of configuration (as Mint uses the same underlying base as Ubuntu).
Based on the error message, i *assume* that ssh has to be configured first as well in order for x2goclient to work properly…can you connect to the machine in question via ssh username@host? Don’t the admins of this VM provide any instructions for such?

linuxmint

Re: X2go client on Mint 18.2 Cinnamon

Post

by linuxmint » Thu May 31, 2018 6:21 pm

@thx-1138 and @smurphos thank you for your answers. I pressed ok to the error message and i ignored it. Then i tried to connect and interact with the remote VM and everything worked fine. Actually every time i try to connect this message pops up but i ignore it and continue with my work :P

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account


Closed

swoopla opened this issue

Jun 27, 2018

· 3 comments


Closed

sftp-server binary error

#1

swoopla opened this issue

Jun 27, 2018

· 3 comments

Comments

@swoopla

When i connect to x2goserver, an pop-up error message open:
«Unable to find the sftp-server binary. Neither bundle, nor found in $PATH nor additional directories.

If you are using a Linux-bases operating system, please ask your system administrator to install the package containing the sftp-server binary. Common names are openssh, openssh-server or openssh-sftp-server depending upon distribution.

If the sftp-server binary is installed on your system, please report a bug mentioning its path on:
https://wiki.x2go.org/docku.php/wiki:bugs

«

@swoopla

I test append openssh-sftp-server only

@swoopla

New bug:
«
SSH daemon could not be started

You have enabled Remote Printing or File Sharing.
These features require a running and functionning SSH server on your computer.
Printing and File Sharing will be disable for this session.

The SSH server failed to start.

Please report a bug on:
https://wiki.x2go.org/docku.php/wiki:bugs

Disabling Remote Printing or File Sharing support in the session settings will get rid of this message
«

@swoopla

I install openssh-sftp-server and openssh-server to fix 2 bugs.
I publish the new Dockerfile

1 participant

@swoopla

Like this post? Please share to your friends:
  • X2go client for windows 64 bit
  • Xbox 360 controller driver for windows 7 64 bit скачать
  • X1950gt 256 mb драйвер скачать для windows 10
  • Xbox 360 64eng exe windows 10
  • X1650 xt 256m gddr3 драйвер windows 10