X2GO: Linux Remote Desktop & Terminal Server System With Support For Published Applications

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
if you come from the windows world you're familiar with remote desktop or a Windows terminal server and it's a system by which you can have remote users login remote desktop as it's called as well and it's a really popular way of you know if you have a server inside your office and you want to have your users remotely been able to get into said server so they can share and run applications on there they can roll it and from home that we want to worry about their individual theatres you can just maintain one server where all those applications are set up and licensing so that's very familiar and there's other more specific things like citric zen apps are the ability to publish single applications and then port them so they run on the server but then they're brought to the local desktop if you've worked in a corporate environment you've probably seen that it's actually one of the things Citrix is well known for is that product but and you do that in the Linux world absolutely there is the complete X to go open-source system that allows you to do this actually goes really impressive so xtogo enables you to access graphical desktop computer over a low bandwidth or high bandwidth connection and it will let you do publishing of applications and we're gonna cover both aspects of it so rundown the basic features right here so the graphical remote desktop that works over low bandwidth and high bandwidth connections the ability to disconnect and reconnect a session even from another client so you can work on one computer disconnect that session but not terminate it and then rejoin that session right where you left off and it works for applications as well which is really cool it does have support for sound it does have support for printers it only needs to do everything over SSH so you don't have to open a bunch of porch or change your firewall a lot I still recommend you know a VPN and then SSH to the box you want to connect to for extra security but it can do SSH with key authentication now the client side of xtogo supports Windows Mac and Linux so you can actually connect your Windows computer to the server that you set up for X to go and have a standard Linux desktop even though you're accessing it from a Windows computer and the printer still work the sound seems to work as well I did use a little bit of testing on that though ain't challenged I found is when you get to the lower bandwidth if you try to watch something like YouTube you'll see if you're doing remote session sound and desktop doesn't come over that's that's generally with any you know you're trying to stream everything across and it doesn't work super well but for local things like YouTube work but we'll get into some of those details in a minute now easily select multiple desktop environments you have to have those desktop environments installed in order for them to work so you can set up a server with multiple environments and then you choose that environment when you launch over that when you go into the launch on there it's pretty slick and once again they talked about pulseaudio SSH proxy support in a public applications thin client available session broker if you get real advanced with X to go X to go supports like a web enabled you can tie it in with Apache so they log in through your users can log in through a web browser it's really impressive if you want to get all into that that goes way beyond it's a lot of work to set up we'll go for the basics here of how we set this one up and get you going with it so to install likes to go I actually have a pop OS install that I have here is a local desktop real quick the only thing I had to do to install this installed but it's sudu install xtogo server and it's all you it's by default with a bun - and pop OS being that is a bunch of derivative it is installed as the repositories in the Ubuntu repository which in turn in a pop OS repository it works perfectly fine but if you want to install it in Debian they do have instructions in here because Debbie and doesn't have all of the repositories available so they have a PPA you can add they have a really simple instructions in here and here's how to install it in Debian I did one Debbie and install actually stuck it in digitalocean spun it up just through the xtogo session server in there and LXDE desktop and away you go now comment on gnome ohm isn't fully supported in actually go so the other extra thing that you have to do is sudo apt-get install and it's called gnome to do app get install gnome flashback and this is because the 3d and cool environment of gnome isn't fully supported to bring it over there so you can still do what they refer to as a local session will cover the differences in a second but you have to install the gnome flashback to get like a remote terminal server style session window we're gonna go ahead and show you the other than installing the server the other thing you need to configure the other things that need to be done in here is because it works over SSH you have to make sure SSH is up running and enabled on your system and I'm not gonna do it exactly right here but obviously sudo apt-get install as H is the first part this machine making sure once you have that SSH labeled those sudo system control enable SSH it's enabled that way it starts up on boot and now we can from another computer login to this one so the IP address of this computer is 192 168 31 or sis each use name Tom and it lets me login now I've already done this right here if you're not familiar I have SSH SSH keys installed so it's SSH copy ID once you install it would view last estate channel login with a password I do SSH cop ad time here and what that does is it just copies over my keys to that machine it's already been done so you get this morning look up SSH key management if you're not familiar with this but this saves you from have them do the password login when you're logging in each time if not it will prompt you for a password now as a measure of security once you have your keys installed I highly recommend you can Google how to do this earning off astrid authentication you want key only or key plus password authentication you keep ssh that much more lockdown you don't want people just guessing away at your SSH passwords so that's a little security errata on there but i won't go too in depth on that particular aspect of it but from the way online make sure you can log into this I'm doing this from Linux Linux if you're using this in Windows there are ways you can import the keys that goes way beyond the scope of this talk but there are methodologies which because it uses putty for Windows you make sure you can logon with putty you can make sure the session logs in you make sure you can get the keys there is a key session manager for putty so you can do it that way or just use username password until you figure all that out to get started with this so this is all setup and running we're gonna go ahead and open up our next to go client now now once again the xtogo client is in a repository so there's nothing especially have to do apt-get install xtogo or in the case of windows you just download they have an executable installer and i have a bunch of sessions listed over here I've been creating you create the sessions up here with the new session option type in a session name host and then trial auto log-in via SSH agent I you check that box so you'll have to be prompted for the password and it'll log in when you're setting up a new session you choose this and actually we're gonna go ahead and edit one of the other ones and chances and this is pop BM local desktop now here's all the different options I can choose gnome LXDE I can choose them but they'll fail because if it doesn't have the other tools installed like these other desktop managers or desktop environments inside of that particular machine I'm connecting to it will not work so I want to connect to the local desktop of this particular machine options in here what speed are you connecting at input/output options I can make it fullscreen which is actually kind of cool because I can say make it fullscreen and I have a three monitor setup so it chooses one of the three monitors I can just make one of those monitors the whole screen of that particular display this is kind of neat too because if you said fullscreen but then use the X and Maura Rama exactly how they say that extension that actually logically breaks out all the monitors and all the multiple monitors so your three monitors are treated exactly the same all the way across which is really pretty cool we're just gonna just do custom 800 by 600 you turn this off set DPI but you can't push dpi settings I've not had a problem so leaving it off but if you have something custom you want a custom font size or screen size it does have options to put that media enables sound supports right here this pulseaudio it'll gives you a warning if you choose these that they're deprecated but still usable in certain circumstances and then shared folders you can add local folders and map them from your computer to each session so if I wanted to be able to access certain files on my computer and that computer will have one real quick but first you find the folder she right here at it's going to mount it on that particular machine and you'll see how I will show how it's sponsored in air so again a says use SSE / forwarding to tunnel fire by all connections to firewalls though your connection sessions only limited to your speed but it's once again even though I am sharing vials it's not using file sharing it's using SSH to tunnel everything in there I will connect your local desktop you just click it and it sees that we have a session logged in so let me show you what that is that's this session right here that we have and move the screen back over and we're going to go ahead and hit full access take a second and there's that session so we move this side of the way kind of make this side-by-side so as I'm on the next session here you can see things going on in a VM in the background what was that and I guess I'll leave that open so you can see it can access this computer it's kind of weird so you're seeing it you know mirror because I'm actually accessing the local desktop and it's responsive as fast granted I'm on a local network but it works really well so let's talk about another session close this bring this back over here now we're going to go pop OS and we have apps Aiden live I've got a few of them demo here that was a local desktop so let's read --it this one and preferences and let's launch known now this is where I saying where you're gonna get a different gnome you've seen that's the standard pop OS look for logging to pop West but because the gnome flashback this is when it runs as a terminal service arena okay and connect here session name so we know what it is local logging in Rome classic actually what it's called now we go okay go back in you now you notice some of the prettiness is gone and when I'm moving things around here not moving around down here these are separate sessions this session is not the same that session that you so these sessions being completely different means they are multiple users if I had another user and I have that user log in as well I created another user on this system they won't be shared with this session each user has their own desktop own environment the downside being of course with this gnome session here and I can be as pretty it's it's much more basic very flat looking and this is because gnome doesn't support excellent 3d rendering or really any 3d rendering across the SSH pipe that's created to bring this over here and that's going to be some of the challenges you may run into with X to go it's not going to be this beautiful environment but then again that's usually not the use cases you have for this you want to be able to get into your system maybe run an application on there but the nice thing is to because it's not interfering with your main desktop you can even be logged in to your back-end the system to get something off of there without having to directly interact with it or mess up any of the other sessions that you have actually running so let's cover another aspect of xtogo close this bring up our x2 go here we'll talk about this is where it gets really interesting is we're going to run a publish application on here so this is the general public applications new and now it's ready now when you run public out public applications and actually let's start over terminate that we chose the public applications single application or custom desktop but we're gonna we're choosing publish and it's really that easy so you don't really have to do anything on the server side although it pulls from the list of applications that are already installed in that server so we open up this one real quick and here's those applications let's say I wanted to run LibreOffice on here let's just open up X's Oh - writer here we are now libreoffice writer' is not running on my computer you're singing on my computer you're seeing as if it's running on my computer but if we go to open that's document test document we go to libreoffice on my computer here's the leery office on my computer looks when I go to documents completely different you're seeing documents local to my computer not the documents local to that computer this is quite slick because this allows you to run application there and of course maybe Libre Office is not the best example what if we wanted to run something more advanced like in life sure why not my video editing year and open of a test file that I loaded oh I have access to the media that was on there so let's go ahead and answer back I was setting up for the demo here we're gonna add a clip and it doesn't see clips on my computer it's these clips on that computer we can do this video edit we can see the but this is all not running on my computer at all matter of fact we're going to do this we'll delete a clip and we're gonna go for render this is where it gets really cool so we're just gonna do this test surrender here I think I have something called that I doesn't matter call it test render asked render more options this is a 24 course server that this is running on so we hit render to file and it kicks off the rendering now it's hard to see but sometimes because it's all this is being rendered it's actually not like an application running on my system sometimes there's a little bit of justice weird artifacting I see for a second then it goes away it's maybe a bandwidth issue when it comes on there but show now is we're running on this computer so here's this computer here 192 168 1.34 and run H top there's 24 cores being utilized for rendering now this is where it gets even kind of neat again so we're gonna go and pull up our session close this the session and with that stuff by the way aidan live is still working in the background still sucking up cpu power here and let's exit go back to my local computer Computers hardly doing anything mostly it's running OBS recording this video so nothing here just the CPU is being used for OBS let's go ahead and jump on that session again we're just going to resume it and it's further along in a render you can I ate your can pause the application in terms of your connection to it but the application can continue running on that server in the background and this is just a really you know I'm considering rebuilding my server because this is a nursing use case I put in a faster server instead of a faster desktop and I just run eating live as a published application on a really fast server I can connect to it here on my desktop pick off a large video editing project leave leave my office shut off my personal computer but leave my servers running which are running anyways in a background to run or other things that run on them connect with my laptop when it's on rendering and finish uploading and getting the file and moving it and it does support having a combination granted speed being limited of using applications on my desktop using applications where files on my desktop with files on there but if you do map a shared file on there and you try to render a project you're gonna have a problem because if you disconnect from the session it loses those resources because it's being brokered by the X ago so it's best to have all those things already mounted matter of fact one of the things I had done to make this work was I keep all my video files on a FreeNAS and I mounted the FreeNAS on the pop OS VM to be able to have access to some of the videos and because when you're going to the file open it sees the local resources not on my computer but on here and so I can access anything I have mounted inside of here so it definitely I'm just really impressed with how well this whole system works and of course the next question might be is how does it work on lower bandwidth nothing kill this render job Oh interesting too though when I alt-tab around it does see each window even though each one is being rendered it sees them individually just like that so it's it still handles them as part of my own desktop environment including like snap two's I have to work okay but the full-screen dragging splitting between all my monitors works perfectly fine on there sometimes I notice it doesn't always snap too and I don't know why but that happens something this times that popped up on my other screen but I have that happen sometimes because I got triple screen published applications no session will be lost and one more thing about the published application so I want to show because I cut save this all the way over here is kdenlive on pop you can that's from preferences here single application and then choose the command a user bin kdenlive so instead of having to go through and choose the application is published you can actually create a shortcut directly to the application so every time you run it it just runs boom that application so a kdenlive on pop OS and he only starts kdenlive on pop OS by the way you can start multiple sessions of kdenlive multiple people using the application there are different sessions with different users and have them all working independently granted they share the resources of the computer but still really cool that that works in and be done so there's all kinds of you know fun things you can expand on when you're doing this oops close next to go open it back up as IBC the other question people have is what about low bandwidth and what I did was I spun up a single processor low powered digitalocean server with LXDE on it so W n loaded LXDE lightweight desktop here created a user loaded Firefox and some applications I set it up in England that way it could be far enough away that it actually is gonna take some slow speed to get it connected so here is LXDE running in digital ocean and in England as well like how it figures out that I'm in England so let's go to ifconfig me there's the IP address of this server now this is where I was talking about if we were to do something like open up YouTube this is where it's kind of get a little bit jerky we're running a single processor system so it's not super fast to begin with but if you start playing audio and things like that here you can see there's a little lag from the render but one it's not real fast of a system not a lot of resources dedicated to its in England and you know that's some of the the general applications are fine but when you just have too much media too much graphics you're trying to pipe HD graphics render it over there bring it across the pipe it does and you can see it's speaking the processor the single core processor on here but it's not not the most ideal way to do it obviously it's better if you have an internet connection to surf YouTube on your local desktop but it does work and thing but things like let's open up a LibreOffice here completely usable for things where there's not a ton of screen updates so editing a document in here remoting into your computer remotely across a lower bandwidth connection not a problem that works perfectly fine on here and no issues and because this is LXDE it does not have the beautiful pretty graphics but and then again this is probably more of a business use case work functionality than anything else now one of the other things I have set up a next ago that I want to show is the Mott a desktop does look pretty nice terminal ever you forget that terminate sex to go on a backup you sessions going at once so it should have left that open but here here's parrot VM display to need to change that to display one peer p.m. we're going to go ahead and session preference and put output use whole screen identify displays this is technically the middle one is labeled as three and my setup we're gonna make it fullscreen here or make sure it understands everything like the desktops and we're gonna go ahead and pair it VM and you'll watch my middle screen become parrot VM hopefully OBS doesn't lag the pair vm's are in local in my machine back here it does do this it somehow messes up the icons but then sometimes it goes away and starts working fine I don't understand why but you can see that the MOT a desktop looks much nicer and I'm going to be doing a review of hair and this is actually how I plan to do it cuz I run this in a VM because I'll do it for some pen testing do it for some research by like some of the times when you're numerating network resources are scanning a network it can take a long time so it's nice to have this VM I can kick it off and then leave this session open and and finish later and join back on it and it works really really well so it also has no problem with lock screens suspend because MOT a desktop seems to understand perfectly fine the exercise over and it's really in when you install parrot it's as easy as apt-get install actually go server once again it's an a bunch of base so it's in the repositories nothing special you have to do I'm gonna log out of here real quick and log time out I know she's one more thing that I this is where it gets really slick we're going to edit this session and session preferences media ullscreen and we're gonna use this as an extension here I'm actually gonna switch to three screens here all right so this is how I actually see things in my desktop I'm sitting here and I see my three monitors I'll show you how you can do all three monitors this works really well this is an impressive feature so we're gonna hit OK and what we did was just so you're clear we want to use ullscreen cross all of them appear vm use fullscreen and use the desktop ascension for two or more physical displays that's an important part if not it just kind of stretches one screen across and it's not what we want we do this take a second to launch and now we have all three displays working at once and each display support snapped to it realizes the edge of my monitors it understands where each one is so I can run this environment totally like this like I have don't see my desktop at all it's full screen it's fully you know all the applications work everything works here can open up all the different tools I can drag them across all three of my monitors and it's just a session so it's actually kind of interesting because instead of debating if I want to upgrade my computer or just like I said put a faster server in the background and it ports everything right to here so the my server my particular desktop doesn't have to be as fast I can have access to a really fast system in the back and start and stop these sessions and of course if I if you do leave a session open with triple monitors it jumbles everything back to one monitor if you attach later with only one monitor that FYI that will happen but it's really this is such a slick system gonna go ahead and lock out and go back to how they record and where you go like I said once again with the pair of VM you notice it didn't prompt me for password it's because I have password authentication turned off but SSH keys turn on for each of these so go ahead and play with X to go it's free it's open source oh one last demo is the windows showing you that this same exact example will work in Windows here is the exit ego client running inside of windows and it looks the same it works the same I don't have SSH key setup in Windows here let's go ahead and connect to a session and there we've spawned a session I do notice and I don't know if it's my virtual machine but it does take slightly longer but not much to launch in Windows it could be he I don't have any real subjective testing I did but it works here's those documents here I can open up that test document that we had even though we don't launch as an application so available in this particular session cuz it's saved to them either the other thing that works but it doesn't work as well all is probably private is uh the published applications work a little bit different in Windows is the way they render I need that for a new session open up kdenlive you up to it you oh by the way if you try to drag because this is being rendered if you try to drag clips in a kdenlive like from your desktop whether you're in Linux or Windows it doesn't work as it's being rendered it it just doesn't let you drag an icon into it it just does that oh if anyone's wondering this is where I noticed the rendering issue I switch back to the hand then here's this and it should be a hand icon it's decided to stick with the scissors icon but everything else still works and once again I can start this session resume this session started and windows resume it in Linux if I wanted because once I kick off the session it works but it does like I said it allows you to run Linux applications so the side of Windows you know will render them inside a Windows via the axe ago so you know another slick use case for it pretty cool so that's that's it for it to go it's an excellent system it's open source it's easy to install it has options for all kinds of different I mean it supports debian fedora gen to Red Hat so it's broad levels of support I did not try it but it does seem to have support for setting it up on a Raspberry Pi which I thought was kind of cool it seems like it'd be a little slow for that but you can oh that's an option on there so even raspberry PI's I should put it on here I'll leave links to the X to go but obviously it's easy to find and a good luck have fun with it Thanks thanks for watching if you like this video give it a thumbs up if you want to subscribe to this channel to see more content hit that subscribe button and Abell like on and maybe YouTube will sense you and notice when we post if you want to hire us for a project that you've seen or discussed in this video head over to Lauren systems comm where we offer both business IT services and consulting services and are excited to help you with whatever project you want to throw at us also if you want to carry on the discussion further ahead over to forums at Lawrence systems comm where we can keep the conversation going and if you want to help the channel out in other ways we offer affiliate links below which offer discounts for you and a small cut for us that does help fund this channel and once again thanks again for watching this video and see you next time
Info
Channel: Lawrence Systems
Views: 65,385
Rating: undefined out of 5
Keywords: x2go server, x2go client, x2go tutorial, x2go server ubuntu 18.04, x2go ubuntu, x2go video, x2go linux, x2go server configuration, x2go server configuration ubuntu, x2go server tutorial, x2go server setup, x2go, linux, remote desktop, remote desktop protocol
Id: oSuy1TS8FGs
Channel Id: undefined
Length: 31min 4sec (1864 seconds)
Published: Sat Apr 27 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.