I'm sorry, my last mail should have been sent to the developers list (of course).
On 11/07/2012 12:25 PM, Reinhard Tartler wrote:
On Wed, Nov 7, 2012 at 11:42 AM, Ralf Hemmecke <hemmecke@gmail.com> wrote:
Maybe I should rather subscribe to the x2go-developer list. Looking at http://www.x2go.org/doku.php/wiki:development:git tells me about "Checkout all repos:". A bash-script? That looks like x2go should rather use "git submodules" no?
Hi,
maybe I shouldn't do this before knowing x2go better, but since I was somehow shocked by this bash script...
I've actually executed it and found out that I should delete the deprecated line *and* the line
x2goagent.git \
since also that gives a 'permission denied error'.
Furthermore, when I look at http://code.x2go.org/gitweb, I somehow get the impression that the list on the webpage is completely outdated.
So, here my suggestion. Use git submodules and tell developers to clone the sources like
git clone git://code.x2go.org/x2org.git cd x2org git submodule init git submodule update
Someone from the core developers should (of course create the initial x2org.git.
For demonstration purposes you can start with
git clone git://github.com/hemmecke/x2go.git
but some core developer should actually produce a x2go.git like
mkdir x2go cd x2go git init for r in buildscripts.git ,,, ; do
git submodule add git://code.x2go.org/$r;
done git commitwith the correct list of (sub-)projects or simply clone my x2go.git and add the missing projects via
git submodule add git://code.x2go.org/libjpeg-turbo.git
and then publish that x2go.git repo somewhere.
This probably doesn't give you the exactly same setup as you had before, since (as you can see from the git://, everyone would only get read access to the repository.
But hey, we are dealing with git, nobody actually needs write access to anybody elses repository. The X2GO project has just to declare some of the many repositories as the OFFICIAL one and one or two people would be responsible to push into this OFFICIAL repository. For collaboration there is github and all the other free git-repository hosting providers.
But of course, that is all up to the inner core of developers who decide. I've just made my suggestion. Feel free to adapt to your actual needs. (Since I am too new, I don't yet know them.)
Implementing what you suggest is very likely to break our build infrastructure, which automatically builds nightly debian packages for debian and ubuntu. I'm not saying that it was impossible to do what you suggest, but we must ensure first that changing the repository organization does not cause regressions for our users.
Huh? I don't understand this. All I suggested was to add a new "super" repository that pulls in the existing ones for a local setup. All your official repositories can stay where they are. You could even leave the bash script in place if you like.
I think I forgot to include a link. http://git-scm.com/book/en/Git-Tools-Submodules
Ralf
Hi Ralf,
On Mi 07 Nov 2012 12:49:33 CET Ralf Hemmecke wrote:
I'm sorry, my last mail should have been sent to the developers list (of course).
On 11/07/2012 12:25 PM, Reinhard Tartler wrote:
On Wed, Nov 7, 2012 at 11:42 AM, Ralf Hemmecke <hemmecke@gmail.com> wrote:
Maybe I should rather subscribe to the x2go-developer list. Looking at http://www.x2go.org/doku.php/wiki:development:git tells me about "Checkout all repos:". A bash-script? That looks like x2go should rather use "git submodules" no?
Hi,
maybe I shouldn't do this before knowing x2go better, but since I was somehow shocked by this bash script...
I've actually executed it and found out that I should delete the deprecated line *and* the line
x2goagent.git \
since also that gives a 'permission denied error'.
Furthermore, when I look at http://code.x2go.org/gitweb, I somehow get the impression that the list on the webpage is completely outdated.
So, here my suggestion. Use git submodules and tell developers to clone the sources like
git clone git://code.x2go.org/x2org.git cd x2org git submodule init git submodule update
Someone from the core developers should (of course create the initial x2org.git.
For demonstration purposes you can start with
git clone git://github.com/hemmecke/x2go.git
but some core developer should actually produce a x2go.git like
mkdir x2go cd x2go git init for r in buildscripts.git ,,, ; do
git submodule add git://code.x2go.org/$r;
done git commitwith the correct list of (sub-)projects or simply clone my x2go.git and add the missing projects via
git submodule add git://code.x2go.org/libjpeg-turbo.git
and then publish that x2go.git repo somewhere.
This probably doesn't give you the exactly same setup as you had before, since (as you can see from the git://, everyone would only get read access to the repository.
But hey, we are dealing with git, nobody actually needs write access to anybody elses repository. The X2GO project has just to declare some of the many repositories as the OFFICIAL one and one or two people would be responsible to push into this OFFICIAL repository. For collaboration there is github and all the other free git-repository hosting providers.
But of course, that is all up to the inner core of developers who decide. I've just made my suggestion. Feel free to adapt to your actual needs. (Since I am too new, I don't yet know them.)
Implementing what you suggest is very likely to break our build infrastructure, which automatically builds nightly debian packages for debian and ubuntu. I'm not saying that it was impossible to do what you suggest, but we must ensure first that changing the repository organization does not cause regressions for our users.
Huh? I don't understand this. All I suggested was to add a new "super" repository that pulls in the existing ones for a local setup. All your official repositories can stay where they are. You could even leave the bash script in place if you like.
I think I forgot to include a link. http://git-scm.com/book/en/Git-Tools-Submodules
it feels as if there is a misunderstanding...
Each Git projects on git.x2go.org is complete by itself and reflects a
quasi Debian-like source package so we can easily build your packages
for Debian+Ubuntu right out of Git.
However, X2Go falls into several components, some for the server, some
for the client. Combining these components in your installation is of
your choice.
So, the issue about checking out all Gits at once is just for us
developers as we normally work on all Git projects.
Thus, it is very hand to clone all the X2Go upstream Git projects
locally in one blast. A shell script is sufficient for that, I guess.
I actually do not want to set up a meta Git project pulling in all
other Git projects as submodules as in daily development work it does
not make much sense. Thanks for your thoughts, anyway!!!
Greets, Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
it feels as if there is a misunderstanding...
Each Git projects on git.x2go.org is complete by itself and reflects a quasi Debian-like source package so we can easily build your packages for Debian+Ubuntu right out of Git.
So each comes with its own version number and there is no dependency between the different sub-projects?
Git submodule would allow to have a global tag for a consistent set of all the subprojects.
So, the issue about checking out all Gits at once is just for us developers as we normally work on all Git projects.
Exactly.
Thus, it is very hand to clone all the X2Go upstream Git projects locally in one blast. A shell script is sufficient for that, I guess.
For cloning, yes. But not for tagging. But maybe you don't need or want that.
I actually do not want to set up a meta Git project pulling in all other Git projects as submodules as in daily development work it does not make much sense. Thanks for your thoughts, anyway!!!
I don't feel offended. It was just my 2 cents. I understand that a new person cannot simply come and change the existing workflow.
My problem is lack of documentation. I don't know where to start. I'd still like to have x2go without the need to become root, but obviously that is not too easily achievable.
Ralf
Hi Ralf,
On Mi 07 Nov 2012 13:26:17 CET Ralf Hemmecke wrote:
it feels as if there is a misunderstanding...
Each Git projects on git.x2go.org is complete by itself and reflects a quasi Debian-like source package so we can easily build your packages for Debian+Ubuntu right out of Git.
So each comes with its own version number and there is no dependency between the different sub-projects?
Indeed and no. Of course there is some sort of dependency.
For details on dependencies refer to the /debian/control file in each
Git project.
Git submodule would allow to have a global tag for a consistent set of all the subprojects.
Yes, this is right. However, I guess the amount of use cases is <= 1.
So, the issue about checking out all Gits at once is just for us developers as we normally work on all Git projects.
Exactly.
Thus, it is very hand to clone all the X2Go upstream Git projects locally in one blast. A shell script is sufficient for that, I guess.
For cloning, yes. But not for tagging. But maybe you don't need or want that.
We tag releases in Git. I am sorry, I am not seeing your point.
I actually do not want to set up a meta Git project pulling in all other Git projects as submodules as in daily development work it does not make much sense. Thanks for your thoughts, anyway!!!
I don't feel offended. It was just my 2 cents. I understand that a new person cannot simply come and change the existing workflow.
Sure. However, I am curious on what else you will come up with.
Normally, new people bring in good new impulses.
My problem is lack of documentation. I don't know where to start.
Point taken:
What other questions do you have? If possible, I will point you to solutions.
I'd still like to have x2go without the need to become root, but obviously that is not too easily achievable.
As X2Go ships a complete X-Server source tree (nx-libs.git for
x2goagent) it is indeed not very trivial. Maybe you have to talk to
your IT provider to install you the basic X2Go packages.
Sorry about the non-user installation, Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
- use Debian or Ubuntu (we all work with Debian primarily)
I'm already on that track.
- configure APT: http://wiki.x2go.org/doku.php/download:start
I can do this on my laptop.
- install x2goserver-xsession on your server (Debian/Ubuntu)
Stop. I don't have root access. :-( I only have a normal user account on that machine.
- instal x2goclient or pyhoca-gui on your client
I could do that on my laptop, but without a server it doesn't make sense.
- configure a session profile (I am sure you will find out about the fields)
I don't come up to that point, since I don't have a server.
- Start your first session
It's clear, that since I cannot execute (3), I don't come to this point.
The only thing I could do, would be to setup a set of virtual machines locally on my laptop. But I'm to lazy to do this, since I'd have to build a local network between the VMs and it's actually useless since all is on my laptop.
What other questions do you have? If possible, I will point you to solutions.
How do I get over step 3?
As X2Go ships a complete X-Server source tree (nx-libs.git for x2goagent) it is indeed not very trivial. Maybe you have to talk to your IT provider to install you the basic X2Go packages.
Sorry, I actually even don't want the sysadmins of that server get involve. Why should this be necessary. If I am not completely wrong, X does not need to run as root.
Sorry about the non-user installation,
That's at least a clear statement. Thanks. However, might this change in a near future?
Ralf
On 2012-11-07 13:48, Ralf Hemmecke wrote:
- Start your first session It's clear, that since I cannot execute (3), I don't come to this point.
The only thing I could do, would be to setup a set of virtual machines locally on my laptop. But I'm to lazy to do this, since I'd have to build a local network between the VMs and it's actually useless since all is on my laptop.
This is childish. You asked how to get started - and running a VM on your local machine, or even running a server locally and connecting to that, to start understanding how x2go works is a valid solution. You already knew that running locally does not currently work, and probably everyone got your point.
Sorry about the non-user installation, That's at least a clear statement. Thanks. However, might this change in a near future?
Unless you fix it: Unlikely, as all active devs have root and lots of other stuff to do. :) If you are interested in paying Mike or Alex for fixing this, things are probably different.
Cheers Morty
-- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen
Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : struebe@informatik.uni-erlangen.de WWW : http://www4.informatik.uni-erlangen.de/~morty
The only thing I could do, would be to setup a set of virtual machines locally on my laptop. But I'm to lazy to do this, since I'd have to build a local network between the VMs and it's actually useless since all is on my laptop.
This is childish. You asked how to get started
But I did not ask how to get started with *installing* x2go (with no root access to the server it's not possible anyway), but rather I asked about how to get started *understanding the sources* -- some good overview documentation, since I would probably have to do something myself to make my wish happen.
But I understand. This is childish. :-(
However, might this change in a near future? Unless you fix it: Unlikely, as all active devs have root and lots of other stuff to do. :)
Well, maybe x2go is not the software I am looking for. :-(
Ralf
On 2012-11-07 18:04, Ralf Hemmecke wrote:
This is childish. You asked how to get started But I did not ask how to get started with *installing* x2go (with no root access to the server it's not possible anyway), but rather I asked about how to get started *understanding the sources* -- some good overview documentation, since I would probably have to do something myself to make my wish happen.
As there are only a few hundred Lines of code and a normal user never gets in touch with them there is no such thing as an overview document. When staring the x2goclient from the console you get lots of debug messages, including the commands issued on the server. Thus those are the scripts you you want to have a closer look at. Then you can move those files to your home and start working on them until they run from your home. Besides adjusting your paths this should be pretty straight forward. Of course you can just start working, without connecting once in a while, but that makes it much harder to find out where the system broke.
However, might this change in a near future? Unless you fix it: Unlikely, as all active devs have root and lots of other stuff to do. :) Well, maybe x2go is not the software I am looking for. :-(
It probably is, but it is not in the state you are looking for.
Cheers Morty
-- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen
Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : struebe@informatik.uni-erlangen.de WWW : http://www4.informatik.uni-erlangen.de/~morty
On Mi 07 Nov 2012 13:48:10 CET Ralf Hemmecke wrote:
Sorry about the non-user installation,
That's at least a clear statement. Thanks. However, might this change in a near future?
It is not a use case here, so I won't work on it.
Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
On 11/07/2012 02:23 PM, Mike Gabriel wrote:
On Mi 07 Nov 2012 13:48:10 CET Ralf Hemmecke wrote:
Sorry about the non-user installation,
That's at least a clear statement. Thanks. However, might this change in a near future?
It is not a use case here, so I won't work on it.
Let me ask you about the big picture.
AFAIU, x2goclient connects via ssh to the server with and basically logs into the server with the user account that is given to x2goclient.
Then everything is done on behalf of this user.
But... I've seen a new x2gouser account on the server. Why do you need this?
Furthermore, are there (and I'm pretty sure there are) any processes that must be run as root or x2gouser after installation? If yes, which are they and do you see a reason which prevents these processes from being run as the user that comes from x2goclient?
Are there any real needs for a root user in x2go's server setup or does this just happen by convenience for the developers?
Ralf
On 2012-11-08 16:36, Ralf Hemmecke wrote:
But... I've seen a new x2gouser account on the server. Why do you need this?
Furthermore, are there (and I'm pretty sure there are) any processes that must be run as root or x2gouser after installation? If yes, which are they and do you see a reason which prevents these processes from being run as the user that comes from x2goclient?x2gouser
As x2go supports multi server installations, too, there is a central database managing the sessions. For single-host installations this is done using a sqlite database owned by x2gouser. It is accessed using the sbit-mechanism.
Are there any real needs for a root user in x2go's server setup or does this just happen by convenience for the developers?
No, there is none. This is only due to the convenience having the same interface for multi-server as well as local installations. And it's also part of the legacy, that x2go used sudo a long time ago (which was a huge security issue). Writing a database interface which saves settings in your home should not be too much work. From there on it 98% adjusting the paths.
Cheers Morty
-- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen
Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : struebe@informatik.uni-erlangen.de WWW : http://www4.informatik.uni-erlangen.de/~morty
Thank you, Morty.
As x2go supports multi server installations, too, there is a central database managing the sessions.
OK. But that's, of course, irrelevant for my use case.
For single-host installations this is done using a sqlite database owned by x2gouser. It is accessed using the sbit-mechanism.
Thanks. In other words. Assume, I want to do a rootless installation as user foouser. Then I would probably have to rewrite the sources so that foouser is also responsible for this sqlite database (of course only for sessions of foouser, i.e. this DB then lives somewhere under $HOME/.x2go).
Are there any real needs for a root user in x2go's server setup or does this just happen by convenience for the developers?
No, there is none.
OK, there is hope. ;-)
This is only due to the convenience having the same interface for multi-server as well as local installations.
I don't understand what exactly you mean by multi-server and local installation. But maybe it's irrelevant for me anyway.
Now could you even tell me approximatly in which files I would have to look?
And another question. Does the x2goclient know that an x2gouser exists on the server. Hopefully I only have to deal with the server side.
Ralf
On 2012-11-08 22:28, Ralf Hemmecke wrote:
For single-host installations this is done using a sqlite database owned by x2gouser. It is accessed using the sbit-mechanism. Thanks. In other words. Assume, I want to do a rootless installation as user foouser. Then I would probably have to rewrite the sources so that foouser is also responsible for this sqlite database (of course only for sessions of foouser, i.e. this DB then lives somewhere under $HOME/.x2go).
Nope. Foouser maintains his own database. You might even get quite far using a text file.
This is only due to the convenience having the same interface for multi-server as well as local installations. I don't understand what exactly you mean by multi-server and local installation. But maybe it's irrelevant for me anyway.
Multiserver: Load balacing, you get a server assigned that has little load. Later you get reconnected to that server.
Now could you even tell me approximatly in which files I would have to look?
/usr/lib/x2go/* They are less then 2000 lines of code! Shouldn't be too much work to read through them. And of course all files with static paths in them. Please keep in mind that you probably want your changes go upstream. Thus try to find a solution that does not break the current setup.
And another question. Does the x2goclient know that an x2gouser exists on the server. Hopefully I only have to deal with the server side.
It might be, that you need to adjust the search path of the client, but that shouldn't be too difficult.
Cheers Morty
-- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen
Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : struebe@informatik.uni-erlangen.de WWW : http://www4.informatik.uni-erlangen.de/~morty
Now could you even tell me approximatly in which files I would have to look?
/usr/lib/x2go/* They are less then 2000 lines of code!
Oh, I thought, you would rather point me to the respective source files which (most probably) lives in x2goserver.git.
If I want to provide a patch for upstream, I should probably look there.
Since the install procedure might put quite a lot of (even unrelated) things into /usr/lib/ , may I ask whether there is (apart from the debian binary installation procedure) some script or Makefile that is responsible for putting everything in place?
In fact, I'd like to know what the usual way to *compile* and to *install* x2goserver (or anything that I would need for userspace installation) actually is. I'd like to start compiling and installing x2goserver from the git repository sources as foouser in his $HOME. So as a first step I'd like to disregard all debian specific installation parts.
Am I right that x2goserver uses the standard
cd x2goserver; ./configure && make && make install
? The INSTALL file in that directory doesn't say something about "configure", but that's probably because it refers to the enduser that extracts x2goserver from a tar.gz file and not from the git repository.
Anyway, I'll probably have to introduce a configure file to later allow "--prefix=/installation/directory" as argument. Can upstream live with that our should it rather be avoided?
Regards Ralf
Hi Ralf,
On Fr 09 Nov 2012 09:56:19 CET Ralf Hemmecke wrote:
Now could you even tell me approximatly in which files I would
have to look?/usr/lib/x2go/* They are less then 2000 lines of code!
Oh, I thought, you would rather point me to the respective source files which (most probably) lives in x2goserver.git.
x2goserver.git/x2goserver/lib/ for the 3.1.1.x release series (Git branch).
Note that in current master I currently refactor the code into proper
Perl modules. This will be easier to fork for user space X2Go, I
presume. I'd recommend to stick to the 3.1.1.x stuff for now.
If I want to provide a patch for upstream, I should probably look there.
If you want to provide a patch, then you have to handle the Perl
module based code in the master branch, I guess. However, this is in
the middle of transition, currently.
Since the install procedure might put quite a lot of (even unrelated) things into /usr/lib/ , may I ask whether there is (apart from the debian binary installation procedure) some script or Makefile that is responsible for putting everything in place?
Yes, there is a Makefile:
x2goserver.git/x2goserver/Makefile
In fact, I'd like to know what the usual way to *compile* and to *install* x2goserver (or anything that I would need for userspace installation) actually is. I'd like to start compiling and installing x2goserver from the git repository sources as foouser in his $HOME. So as a first step I'd like to disregard all debian specific installation parts.
$ git clone git://code.x2go.org/x2goserver.git $ cd x2goserver $ make && sudo make install
Am I right that x2goserver uses the standard
cd x2goserver; ./configure && make && make install
No configure script, yet!!!
? The INSTALL file in that directory doesn't say something about "configure", but that's probably because it refers to the enduser that extracts x2goserver from a tar.gz file and not from the git repository.
The enduser hopefully can install X2Go server from one of the
available distro archives...
Anyway, I'll probably have to introduce a configure file to later allow "--prefix=/installation/directory" as argument. Can upstream live with that our should it rather be avoided?
If the configure file works for system-wide installations, then yes.
I guess, that you are aware that you have to test both cases (user
space X2Go and system-wide X2Go). So, I guess, now it is time to power
up your virtualization software and get x2goserver installed before
starting to re-code it.
Greets, Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
If you want to provide a patch, then you have to handle the Perl module based code in the master branch, I guess. However, this is in the middle of transition, currently.
Is master in a working state or temporarily broken? I'd rather like rebasing my code on top of master than building on soon-to-be-obsolete code.
In what time scale do you expect to be finished with your refactoring?
No configure script, yet!!!
? The INSTALL file in that directory doesn't say something about "configure", but that's probably because it refers to the enduser that extracts x2goserver from a tar.gz file and not from the git repository.
The enduser hopefully can install X2Go server from one of the available distro archives...
Installing via distro mechanisms requires root priviledges. Userspace installation must certainly be done via "configure --prefix=... && make && make install".
If ever I come that far than the behaviour for the current (root) installation shouldn't be in any way any different.
If the configure file works for system-wide installations, then yes.
Well, that goes without saying.
I guess, that you are aware that you have to test both cases (user space X2Go and system-wide X2Go).
What do you mean by "test"? I haven't yet found that 'make check' would be available inside the x2goserver directory.
Ralf
Hi Ralf,
On Sa 10 Nov 2012 02:59:12 CET Ralf Hemmecke wrote:
If you want to provide a patch, then you have to handle the Perl module based code in the master branch, I guess. However, this is in the middle of transition, currently.
Is master in a working state or temporarily broken? I'd rather like rebasing my code on top of master than building on soon-to-be-obsolete code.
The code on master is working (I always aim at that), but it is not
yet complete. To much Perl code in the individual scripts of X2Go
Server. All intelligence will be moved into the Perl module/package API.
But that should not make to much of a difference for you. Please
rebase against master.
In what time scale do you expect to be finished with your refactoring?
No time frame. I am doing the refactoring development in my scarce spare time.
No configure script, yet!!!
? The INSTALL file in that directory doesn't say something about "configure", but that's probably because it refers to the enduser that extracts x2goserver from a tar.gz file and not from the git repository.
The enduser hopefully can install X2Go server from one of the available distro archives...
Installing via distro mechanisms requires root priviledges. Userspace installation must certainly be done via "configure --prefix=... && make && make install".
Yes.
If ever I come that far than the behaviour for the current (root) installation shouldn't be in any way any different.
If the configure file works for system-wide installations, then yes.
Well, that goes without saying.
Fine.
I guess, that you are aware that you have to test both cases (user space X2Go and system-wide X2Go).
What do you mean by "test"? I haven't yet found that 'make check' would be available inside the x2goserver directory.
By testing I meant: install it on a machine where you have root
access, so that you understand the functionality of the server more.
Talking about make check... That actually should be your first task:
write a set of check stanzas for the Makefiles so that you can verify
correct functionality for system-wide installation once you have
started taking the Makefiles apart and added configure functionality.
Your contribution will be very valuable to X2Go as it allows to make
the server code ,,portable''.
For your approach: please start on x2goserver first. Install x2goagent
locally as root first and focus on adapting x2goserver. Once that
works with configure, make, make install, only then it makes sense to
start thinking about x2goagent.
Thanks
Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
The code on master is working (I always aim at that), but it is not yet complete. To much Perl code in the individual scripts of X2Go Server. All intelligence will be moved into the Perl module/package API.
I guess, your refactoring will be important for future development.
If the configure file works for system-wide installations, then yes.
I looked a bit into the x2goserver repository. There are several subdirectories. Obviously x2goserver uses recursive make (you certainly know http://miller.emu.id.au/pmiller/books/rmch/). Is there any deep reaon to leave it like that?
Your contribution will be very valuable to X2Go as it allows to make the server code ,,portable''.
You are quite optimistic that I come that far. ;-) First I have to understand the structure of the make process and what all variables in the Makefiles mean. I am tempted to use autotools with a toplevel Makefile.am, but I've already seen a project that heavily rejected to use autotools. So I'd better ask now. Maybe it is more work for me to transform the make process into an autotools supported project, but I have the feeling that via autotools one gets certain things for free (parallel build (yes I understand that's not really important for x2go), 'make check' testing support). That's only a preliminary impression, I must dig deeper into the code before I can really say anything serious.
For your approach: please start on x2goserver first. Install x2goagent locally as root first and focus on adapting x2goserver.
Thanks for this hint. Maybe I still need a bit more. What does actually happen when x2goclient connects to the server machine? Is it calling x2goagent and x2goagent then starts x2goserver? Could you point me to the code in x2goclient that does the first steps? What is currently not so clear to me is, in which order and what programs are started until I have a running connection.
Of course, I'd like to know the nasty details.
Ralf
Am 10.11.2012 15:31, Ralf Hemmecke schrieb:
> If the configure file works for system-wide installations, then > yes. I looked a bit into the x2goserver repository. There are several subdirectories. Obviously x2goserver uses recursive make (you certainly know http://miller.emu.id.au/pmiller/books/rmch/). Is there any deep reaon to leave it like that?
Feel free to fix it. But as with other things time is likely spent better otherwise.
For your approach: please start on x2goserver first. Install x2goagent locally as root first and focus on adapting x2goserver. Thanks for this hint. Maybe I still need a bit more. What does actually happen when x2goclient connects to the server machine? Is it calling x2goagent and x2goagent then starts x2goserver? Could you point me to the code in x2goclient that does the first steps? What is currently not so clear to me is, in which order and what programs are started until I have a running connection.
As I already said in a previous mail: The x2go-client prints all commands executed on the server, and the responsible scripts on the server sum up to about 1800 LOC. That's really not that much, that it needs in detail explaining.
Cheers Morty
On Sat, Nov 10, 2012 at 5:05 PM, Moritz Strübe <Moritz.Struebe@informatik.uni-erlangen.de> wrote:
Am 10.11.2012 15:31, Ralf Hemmecke schrieb:
>> If the configure file works for system-wide installations, then >> yes. I looked a bit into the x2goserver repository. There are several subdirectories. Obviously x2goserver uses recursive make (you certainly know http://miller.emu.id.au/pmiller/books/rmch/). Is there any deep reaon to leave it like that?
Feel free to fix it. But as with other things time is likely spent better otherwise.
I don't see recursive make as a problem, as I don't see what reasons Peter Miller describes would apply to the x2go code base. Implementing non-recursive make would require to always invoke make from the top-level directory, which I found quite annoying at times.
but that's something that the folks who actually work on the code need to decide on. That excludes both me and morty.
-- regards, Reinhard
Hi Morty, hi Ralf,
On Sa 10 Nov 2012 17:05:53 CET Moritz Strübe wrote:
Am 10.11.2012 15:31, Ralf Hemmecke schrieb:
>> If the configure file works for system-wide installations, then >> yes. I looked a bit into the x2goserver repository. There are several subdirectories. Obviously x2goserver uses recursive make (you certainly know http://miller.emu.id.au/pmiller/books/rmch/). Is there any deep reaon to leave it like that?
Feel free to fix it. But as with other things time is likely spent better otherwise.
Actually, there is a no from my side on this. It is a hassle that will
not bring much improvement. As I understand, the quoted article is
mainly about build performance. That is not relevant to such a project
as X2Go server that only build a tiny C file, only.
Don't waste your and my time on that.
For your approach: please start on x2goserver first. Install x2goagent locally as root first and focus on adapting x2goserver. Thanks for this hint. Maybe I still need a bit more. What does actually happen when x2goclient connects to the server machine? Is it calling x2goagent and x2goagent then starts x2goserver? Could you point me to the code in x2goclient that does the first steps? What is currently not so clear to me is, in which order and what programs are started until I have a running connection.
As I already said in a previous mail: The x2go-client prints all commands executed on the server, and the responsible scripts on the server sum up to about 1800 LOC. That's really not that much, that it needs in detail explaining.
Morty, this has changed with x2goclient 3.99.3.0. I added a feature to
X2Go Client that may reveal a password to stdout with the referred to
output enabled:
Quote from x2goclient 3.99.3.0 changelog...
- Allow pass-through of username and password for X2Go-proxied RDP
sessions. The strings X2GO_USER and X2GO_PASSWORD in rdpoptions
will be replaced by username+password enter into X2Go Clients
login dialog. Only replace username+password if they received a
value from the login widget of the main window.
I'd suggest using pyhoca-cli or pyhoca-gui as client tool for your
project. PyHoca has a massive debug output revealing everything that
happens in the background...
Use
pyhoca-gui --libdebug
to watch your terminal become flooded...
Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
Hi all,
(thread renamed, please let us move over to thread subjects that
describe what the thread is about...)
On Do 08 Nov 2012 16:36:40 CET Ralf Hemmecke wrote:
On 11/07/2012 02:23 PM, Mike Gabriel wrote:
On Mi 07 Nov 2012 13:48:10 CET Ralf Hemmecke wrote:
Sorry about the non-user installation,
That's at least a clear statement. Thanks. However, might this change in a near future?
It is not a use case here, so I won't work on it.
Let me ask you about the big picture.
AFAIU, x2goclient connects via ssh to the server with and basically logs into the server with the user account that is given to x2goclient.
Then everything is done on behalf of this user.
But... I've seen a new x2gouser account on the server. Why do you need this?
...answered by Morty...
Furthermore, are there (and I'm pretty sure there are) any processes that must be run as root or x2gouser after installation? If yes, which are they and do you see a reason which prevents these processes from being run as the user that comes from x2goclient?
There is a cleanup daemon running in the background that updates the
X2Go session database in case of certain sorts of failures (e.g. SSH
connection line disruptions, etc.). This daemon runs as root (instead
of having one cleanup process per user). This cleanup script
(/usr/sbin/x2gocleansessions) can be moved into user space, of course.
Are there any real needs for a root user in x2go's server setup or does this just happen by convenience for the developers?
Also for multi-node printing (where X2Go Server != CUPS server) we use
some sudo and su - tricks. (the CUPS virtual X2Go printer runs as
priviledged root user because it has to do a chown <user> on incoming
print jobs). Please study x2goserver-printing and cups-x2go for
further insights on this.
Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
Thanks for finding such a nice subject line.
Also for multi-node printing (where X2Go Server != CUPS server) we use some sudo and su - tricks. (the CUPS virtual X2Go printer runs as priviledged root user because it has to do a chown <user> on incoming print jobs). Please study x2goserver-printing and cups-x2go for further insights on this.
That seems to be unimportant to me. Once a user is logged onto the server, he/she can of course use any service that is provided on that machine. The x2go project has certainly reasons to provide some printing support. But I believe that is irrelevant for my case. And since I am not near the server and/or the printer, I happily exclude to consider this cups and sudo business there.
I might need to send graphics over a 2mbit line and just a few minutes ago, I've run an experiment where x2go performed quite reasonable (at least much better than what I have seen over a normal remote X connection. (Thank you guys for working on this.)
Ralf
HI Ralf,
On Do 08 Nov 2012 23:14:21 CET Ralf Hemmecke wrote:
Thanks for finding such a nice subject line.
Also for multi-node printing (where X2Go Server != CUPS server) we use some sudo and su - tricks. (the CUPS virtual X2Go printer runs as priviledged root user because it has to do a chown <user> on incoming print jobs). Please study x2goserver-printing and cups-x2go for further insights on this.
[...] But I believe that is irrelevant for my case. And since I am not near the server and/or the printer, I happily exclude to consider this cups and sudo business there.
The printer I am talking about is the printer connected to the machine
X2Go Client runs on.
I might need to send graphics over a 2mbit line and just a few minutes ago, I've run an experiment where x2go performed quite reasonable (at least much better than what I have seen over a normal remote X connection. (Thank you guys for working on this.)
Several of my customer uplinks are 2mbit and I maintain there sites
via X2Go. The performance is quite smooth with most locations.
Mike
--
DAS-NETZWERKTEAM mike gabriel, rothenstein 5, 24214 neudorf-bornstein fon: +49 (1520) 1976 148
GnuPG Key ID 0x25771B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...