Transcript for:
Setting Up a Linux Terminal Server

No more windows, no more MacBooks. I'm replacing everything with Linux and I want to force all my employees to do this. And not just that, I'm going to make them all use one computer. But first, are you guys cool with this? That's. You're. Chuck. Alright, maybe it's going to take some convincing, but lemme show you what I'm doing. You see this computer right here? This is our insanely powerful render machine. We use the surrender and edit videos live stream, but we have a big problem with the sucker. It's running Windows 11. Just another example of Windows taken over my office and I'm tired of it because honestly this PC is powerful enough for five people to use it at one time. But with Windows 11, we can't do that. But with Linux we can't. So in this video, I'm turning this machine into a Linux terminal server. This is going to break your brain and blow your mind. Get your coffee ready. Now let's force everyone to use Linux. Now before we do anything crazy, let's break down what terminal services actually means because it's not a new idea. I've actually used this for a long time in my professional career. Now first, let's talk about a pc, a normal pc. And it's actually the way our render machine works right now. You come to it, you sit down and you edit on it or you render on it. In fact, one of our new editors, Isaac, is probably on this right now. Now here we have a big problem because Alex is about to record some things for this video we're making right now actually. And he needs that computer to record, but Alex can't use it because Isaac is using it because you can only use one computer at one time and that's not the only problem because we have Florida, Nick and Florida, Nick is always trying to use what's called remote desktop to log into this machine and render his edits. Now this is cool for Nick because he can remotely access another desktop and have it start rendering videos while he can keep editing on his main machine. He's just trying to be more productive. Go Florida, Nick, but he can't be because Isaac won't get off the computer. Isaac get off. And then Mike, one of our other video editors, he's trying to use a computer to do some blender stuff and make 3D models, but he can't because Isaac won't stink and get off. What is he even doing on that? I don't know. So in an ideal world, all of them would be able to use that computer at the same time and that's what Terminal services does. Now, first we're going to get Isaac off this computer. He's not going to sit in front of it anymore. We're going to treat that computer more like a server. So we get all the people who want to use this computer and we'll give them what's called a thin client. This could literally be any computer, but the goal here is to get something low powered. So it could be a raspberry pie. Now these raspberry pies are not powerful, but it doesn't matter. All they're going to use those raspberry pies for is to remotely access this one insanely powerful server. Now with a regular pc, you can't do that. Only one user can be logged in at a time, but with a terminal server, it'll create a little unique session for each user and they can all share the resources at the same time. Now again, this idea is not new. Windows Server has had this for a long time. It's called Windows Terminal Services, but it's kind of crazy expensive because you have to buy a Windows server and then a bunch of licenses for the terminal server stuff. I remember paying for it and it hurt. It really hurt. I think right now just five users will cost you a thousand bucks, but in this video we're not doing Windows. We're doing Linux because it's free. Yes, you can do Linux terminal services for free. Thanks to our sponsor. Sandio, before they reached out, I had no idea this was possible, but you can deploy a Linux terminal server for free with to 10 users on a server. So that's the plan for this video. I'm going to get my entire team on Linux on one computer, an insanely powerful computer, and it doesn't matter what hardware they have locally, they can use Raspberry Pi because they're going to be remotely accessing another computer that can do whatever they're wanting to do, whether it's Mike doing 3D modeling with Blender, Florida, Nick doing some rendering or editing and whatever the heck Alex and Isaac are doing. And again, this is free and I'll probably end up setting this up for my kids too because honestly this is just too cool and it's a fun project. So follow along, I'm going to show you how to do it both from the server side, setting things up and then setting up the client side. So what do you need? Well, for the Linux terminal server, the big beefy thing you're going to log into. First it's got to be X 86, the CPU, no arm devices. So think like I'm forgetting the name, a raspberry pie. And you'll need all this software installed, which we'll walk you through. But the big question is how much hardware do you need? How much ram, what kind of CPU? That's going to depend. It depends on things like the number of users, the application mix. So are you doing 3D modeling, video editing, or just word processing? That's going to matter. Now for storage, thin link itself will take up about a hundred megabytes, so nothing. And then each user profile will be about a hundred kilobytes, but that's just thin link. Whatever you're doing with applications or user storage, it'll be multiplied per each user. cpu, same story. Failing estimates that if you're running a full desktop environment, K to E or no with a bunch of random typical applications, you'll need about 150 to 300 megahertz per active user. And then for memory, for a full desktop doing basic stuff, they say about a hundred to 200 megabytes of memory. That's bare minimum if you're doing anything crazy above the ordinary, plan accordingly. Now for the client, you can use whatever you want. It could be Windows, Mac, os, Lenox. They do even make specific thin terminals. You may have seen these at Taco Bell or doctor's offices and stuff and you don't need a lot to run these. Again, it could be a raspberry pie. Alright, so I'm set up at the render machine and it's officially running Linux. We have it running Ubuntu 20.04. So let's go ahead and install fin link. First thing you're going to want to do is open up your web browser and go to syno.com. Now I'm going to click download and choose four administrators. Perfect. I'm just going to click this gigantic download button right in the middle of the screen and I'm going to put in some of my information here and let's see if I can solve this. Capture. Please select the two trucks You need to click on each truck. Okay, pretty easy. Alright, and I'm going to click download now. Cool, let's finish downloading. So I'm going to open up that folder and I'm going to right click on this zip and just do extract two and I'm going to pick the folder I want to extract it to. I'll just create a new folder, call it thin link install. Why not? Perfect, it's extracted. I'm going to delete the zip file and go to that new folder I created. Perfect. So here's that extracted folder. Let's go inside, see what we got. Okay, so what I'm really interested in here is this little install server file. So I'm going to right click and choose open and terminal, and I'm going to run this with sh slash install server. Cool. So depending on what type of Linux setup you have, you might see a nice little window pop up here, but mine just fell back on the text mode, which is just as good. Oh, and it's saying I'm going to need a pseudo authorization. So let me just put in my password here. Cool. So now I can go through this install and it's going to be pretty straightforward and easy. And for the most part I'm just going to use the default settings. So it says, please select the type of Fin link server to configure and it gives me an option between master and agent. So since this is my first Fin Link setup, I'm going to choose master. But one of the really cool things about Link is that you can set up multiple agent servers to support your master server. You'll have to check the documentation on that. In this video, we're just going to set up one master server. That's all we really need. And I'm just going to keep going through these default settings here. Man, I'm getting kind of thirsty. Maybe I should have grabbed a Pepsi before this. Okay, this is actually really cool. This is one of my favorite parts of Thin Link, the web administration feature. So Chuck is going to show you this later in the video, but it's actually asking me to set up the password right now. So I'm going to have to message Chuck about what this password is. Alright, and here's another important thing you might notice near the end of your install. It says you do not seem to have access to thin link commands in your pseudo path. This can be a little bit annoying. I'll show you how to fix that in just one second. So fin link is officially up and running on our system. We can connect to this if we wanted to, but first let's fix this little pseudo path problem. So I'm going to clear my terminal and I'm going to type in the command pseudo bdo, bdo, I'm not really sure how to pronounce that. And I'm going to edit this file just a little bit. I'm going to go down to this secure path string, go to the very end and I'm going to add two more paths. So the first one I'll just do colon slash o PT slash thin link slash Ben. And then the next one I'll do a colon, very similar just slash o PT slash thin link slash s Ben. And that's it. Something to do Ctrl X, Y, enter. And now we should be able to access our thin link commands directly. Now we're all ready to set up our user accounts. Alright, now that Alex has done setting up the server, I'm going to go in here and add all my employees, create a user account for them Linux style using the command add user with a little pseudo action. I'll add Austin Mac. Isaac, this is so much easier than Windows. Now in case you're wondering yes, you can use LDAP to centralize your user creation and management, especially if you have a large amount of users. Now what I love about this, if you refer to the Thin Link administrator's guide, you can lock down a lot of what your users can do. I mean look at all these options and we'll also give pseudo access to the Alex user by modifying his user account command will be pseudo user mod and we're going to add him to the pseudo group with the dash lowercase a capital G switch, which will add him to this group while keeping all his existing groups intact. So we'll say the group pseudo and the username, Alex. Alright, now that we've got our user account set up, let's install Thin Link on the client side or user side. And this is extremely fast. First I'm going to open up my web browser and go to sendo.com. Then I'm going to click on download for users and choose my operating system. Now I'm running Windows, but all the operating systems should install pretty much the same. If you're having any problems, there are install instructions right here on this little link. You can see we've got Mac os, we've got Windows instructions, we've got Linux PC instructions, whatever you need. But I'm using Windows and the download's already finished. So let's open it up. Alright, and you can see it's pretty much just a basic install wizard. So I'm just going to go through it, accept the license agreement and install. I'll click finish and here we go. Alright, so this is Thin Link client under server. I'm going to type in the IP address of the room of requirement pc. And the next step is the username now at auto-filled. Alex, I guess because my username on this laptop is Alex, but that happens to be correct, so I'm going to keep that and then type in my password. And again, I'm logging into the Use your account. That was set up for me on the Thin Link server. So let's go ahead and click connect. Alright, it's going to ask me a little question here. I'm just going to click continue. And there we go. Alright, thin link is up and running, it's just setting up my profile case is going to be the basic abuntu thing. Skip all this. No, I don't want to share my data and finish. Cool. So here we are. I'm up and running on Thin Link on my user account. I've got all my own folders, my whole session running on its own. This is pretty freaking sweet. Okay, we finished installing Thin link on the server side and client side. Now I'm going to show you how to install one last thing. It's called virtual gl. And this will give us server side hardware acceleration to everything running on our remote clients because we want to have access to our server's. Super powerful GPU when we're video editing or 3D modeling, I'll show you just how big of a difference it makes. Just wait. Alright, first things first, I'm going to open up my web browser and search virtual GL and I'm going to scroll down until I find a GitHub link here. It is releases and we'll have links to this down below. And I'm going to scroll all the way down to the assets. Now you're going to see a bunch of different options here. In fact, you can click show all and there's even more options. So you're going to want to pick the right version for your Linux distribution. So if we scroll up a little bit, they actually do have a user guide here. And if we just choose section number five, then there's a whole guide on which version you need to get. So I'm going to pick this one and I'll open this up, close this out and I'm going to go ahead and right click and choose open and terminal. Now to install virtual gl, you are going to have to log in as root. So I'll do pseudo su dash, put in my password, and then as root, I'm going to need to use CD to get back into my downloads folder. So that'll be home username and downloads. Cool, there it is. And to install virtual gl, I'll just use the command DP kg dash I and the name of the file. And I can just do an asterisk, Deb, and it's installing. Okay, cool. That took literally five seconds and now we just need to configure our Linux machine to run as a virtual GL server. Okay, lemme show you how to do that. So first things first, I don't want to be in this graphical environment, so I'm going to close these out and I'm going to do a little command control ALT F three. And we're going to go ahead and log into our machine again. So I'm going to type in my username and my password. Perfect. Okay, so first things first, we want to shut down our display manager. Now this is going to be different for different systems. So check the documentation on this, links in the description of course. But for me on this Ubuntu system, it's just going to be Etsy in it D, and then I believe it is GDM three. And I'll type in stop. Perfect. So it is just shut down and I can no longer do anything. So, oh, it's time to get out my laptop again and I'm going to have to finish this installation through SSH. So get your laptop out and go ahead and open up your terminal. Lemme make this a bit bigger here. Whoa. And we're going to SSH into the IP address of our thin link server. So mine is 10 77 14 1 44 I hope. Oh, and I'll need my username here at the front. Perfect. So I'll enter, type in my password and we are in, oh and I will still need to be logged in as root. So I'll actually just switch to root real fast. I almost forgot. So pseudo su dash and type in my password again. Cool. We're now set up as root. So to set up our machine as a virtual GL server, I'm just going to run this command. It'll be in slash o PT slash virtual gl. Make sure you have the caps there. Slash bin slash bgl server config. Okay, I think I got that right. Let's hit enter. Perfect. So there's a few options here. I'm just going to do option number one, hit enter and I'm going to do all the default settings. Just hit enter a few times. Perfect. And I'm going to type X to exit. Now if you did all the defaults like me, then you actually did restrict your server to the BGL users group. So we're got to add ourselves to that group real fast. We'll just do nano Etsy slash group and it'll be at the very, very, very bottom. There it is. Okay, VGL users. So first of all, I'm just going to add root of course, and then I'm going to type colon and add my username Alex. And I'm also going to add in another username. We'll do the room of requirement user and you can add in all the usernames you want here. Control xy, enter. And we're done. Let's go ahead and restart our display manager. So for me, that was in Etsy, in it D GDM three. And I'll do a start. Perfect. And I should see things start working again. Here we go. So I'm all done with this. I'm just going to exit. Exit. Cool. Alright, so now virtual GL is all up and running. Let's go test it out on thin link. Alright, so here I am on my thin link server. Let's open up terminal and see if we can get this to work. So the first thing I'm going to do is CD into the directory slash o PT slash virtual GL slash ben. And if I just LS in here, you'll see there's a bunch of different programs I'm interested in this one right here, GL LX spheres 64. So first let's run that without using any kind of virtual GL at all. So I'll just do, do slash glx spheres 64. Alright, so this is what the program looks like. You can see we're running at about 1 25, 1 28 frames per second. And okay that's pretty good. But if you look up here, our open GL renderer is LLVM pipe. That's bad. That is a software renderer. So we're actually using the CPU for the graphic acceleration. We don't want that, right? We want to use our NVIDIA 40 90 GPU. So let's use virtual gl. So it's pretty simple. I'll just type in V GL L run and then whatever program I want to use. So GL LX spheres 64, let's try it out. Look at that. This is the power of using the GPU from your server. Wow. Wow. Okay, so we are rocking. Let's see, we got 1000 frames a second. Okay. Yeah, pretty good numbers. I'd say pretty good numbers. Alright, so hopefully you can see why virtual GL is so powerful. Now that we've got everything set up, I'm going to go have the team try it out. Come with me to the editor room. Alright, this is one of our video editors. Mike. Mike, come with me to studio B. What for? We're going to do some blender, man. I like blender. Alright Mike, I know we normally have you use Blender on that PC right there. You're right. But today we're going to have you do it on this little raspberry pie. Alex, are you insane? That's a piece of garbage. How am I supposed to use that? This guy does not know what terminal servers are. Anyway, you ready? Alright, so here is our Thin Link client. I'm just going to click connect for you. Thank you. Hey, you're welcome. Alright Mike. So now we are connected to that PC through the Raspberry Pie. Do you understand what this means? No. Well you're about to. Alright, so try this out Mike. See how Blender runs on this raspberry pie. Hey, I mean this is actually doing stuff and this pie has no ram and I would usually want a lot more for something like this. So. That's good. Alright Mike, so here's what we're going to do. We're going to have you blend something that we can 3D print at the end, the video all. So got any ideas? Koki, what Koki did somebody mention? Okay, so Mike wanted to model Koki, which I looked it up apparently it's this 1997 Filipino science fiction film. Basically a knockoff version of et. But the cool part is we actually have somebody from the Philippines on our marketing team. His name's and I called him up for a little interview. Well, there's not much to share about who que is because it's all about this green alien creature whose spaceship crashed onto planet Earth. And then these two children discovered that the crashed spacecraft on the forest and then they discovered que a wounded and all that after which que told these two children about this main antagonist whose name is Ko Rojo looks a bit villainous and he's not looking that innocent like co. So Rojos mission is to eliminate copay and I am even excited about the prospect of even introducing copay to this new video that we're coming up. So I think many Filipino fans, including my cousin, would even be surprised that you guys know about copay. Leave Jay some love in the comments. He was super excited to help us out with this project, but okay, now that we know about Kki, let's go back to Mike and see how he's doing on the model. Mike. How are you doing? Oh my gosh, I've been modeling it after this. Kki, the one here on the side. Okay, this is the Kki I'm going after. Are you going to do the hood? We'll see. Okay. Okay. Little mystery. Alright, well I guess I'll let you get back to it. I'll come back whenever it's finished. Alright, bye. Now remember while Mike is working on Kki Florida, Nick is editing on the exact same computer and that's the power of Thin link. You don't need to buy a bunch of super powerful computers, you just need to buy one. Now let's go back to Chuck. He's going to show you a super sweet admin tool that lets you get control over all of your different thin link sessions. Okay? The Thin Link server is set up and running and right now Mike is using it. He's creating something in Blender and right now Florida and Nick is editing something. I'm going to spy on them. Yes, you can spy on them. Check this out. I'm going to go to the IP address of the server in my browser and log in with the credentials. It's actually pretty nice. I like the art style. Alright, we give you system health. We can look up users. Lemme see Alex. Oh it worked. Lemme see if I can find Bernard. This is not a real user. What will happen? Failed. Okay, that's fun. Status licenses, system load. Let's go show load details so we can monitor everything. That's pretty cool. Lemme go back. And of course sessions, I can see that right now Mike is connected. Lemme jump in there so I can see all the information including terminating the session, which is pretty cool. Get out of there. And I can also shadow a session and you can do it here from the browser, but I want to show you through the client I can download. I like that better. Now check this out. I also have a desktop customizer. With this I can control whatever my users can do. Defining groups and applications and if they can access those applications, that's pretty sick. I kind of love this. I can even control the menus and what they're allowed to see. Now let's get to shadowing. Now I know at first it's like okay, you can look at what people are doing. That's kind of weird. Who could do that? You can control that. If you go to VSM in the menu here and go to master and scroll down a little bit, we could control allowed shadows. So I might put Alex in there. And now Alex, the user account on the system can shadow and click on save. Let's test it out. Now I'm going to download the client and install it real quick, easy enough. And I'll connect to my server. I put my stuff in and before I click connect, I'm going to click on options and go to advanced and click on enable shadowing under session options. And then I can specify a user to shadow. So I'll put in Mike and I'll see what happens. What the heck is he doing? Hey look, dude, Mike, how's it going? Just finishing touches my guy. Can I see how it's looking? Fine, dude. Oh my gosh. Okay. This looks amazing. Yeah, you want to kiss him, don't you? Dude, I want to kiss him on the list. Alright guys, he finally finished the model. Took me about six hours to make. I'm super proud of it. Let's go check it out. It's been printing for the last 24 hours. It's a big print. Oh my gosh, dude, look how good that looks. I was really worried about the teeth and the letters and the hood right here, but they all printed really well. I'm really happy with it. We have an STL for this. It's on printables. If you want to print this for yourself and links in the description, we'd love to see your kki prints. I think we should go show Chuck. Let's do it. Chuck, what could I got? What the heck is this? It's beauty. Is this what you've been doing? Yeah, I hate it, dude. You paid me to do that. You're getting a raise. Yes. I need a raise.