I think this is the most engaging way to teach Linux that I’ve seen on the entire web and there is a lot of stuff out there. A close second is Overthewire.
Wonderfully informative video. I appreciate the fact that you didn’t edit out the mistakes and unexpected behavior from Linux. It conveys the authenticity of the Linux experience. Sometimes things don’t go as planned and you have to figure out how to fix it or work around it.
Ya know, I've never tried starting an x session in a tty so this turned out to be pretty informative. That was also probably the best explanation of client side decorations I've seen yet. Thanks for another good one Joe.
i know im asking randomly but does anybody know a trick to log back into an instagram account..? I stupidly forgot the password. I love any tricks you can offer me
@Jayce Jake Thanks so much for your reply. I got to the site on google and I'm in the hacking process now. Takes quite some time so I will get back to you later when my account password hopefully is recovered.
My recent college assignment asked us to use X window, and this is the only place I could find a good explanation of how it works! Thank you soooo much!
Great idea opening up the hood and showing people all that takes place with their vehicle (aka computer) every time they go to the mall, shop and load the groceries and drive back home. To a lot of people though, all they want to know is if they are going to the mall in an Audi (say Apple/Mac) or a Ford Focus (say Acer). It appears there are still quite a few who want to know and appreciate your efforts to show us. Look forward to the rest of the series.
I really love the presentation and hands-on practical approach here. Not every detail is accurate but damned if it isn't one of the best out there on how X really fits together with your contemporary systems in layman's terms.
I also want to add 2 things you do right that push this over the top. Audio and Video considerations. The audio is dead perfect. No massive room reverbs. No massive variations in audio levels between cuts. The video is clear. It's also the size that matters. So many will do a screen recording based video that's HUGE so huge that you must have a massive display to see critically important text details. Nobody needs to do videos with 4K terminal windows. It's silly. Thank you for taking the time to make something and also considering the audience so well.
This is great! I was just recently thinking that I was going to go look for something that would explain the different desktop environments and how they work. All of a sudden, I get a subscription notification and you are starting a series that seems to be heading in that general direction. I'm the kind of person that doesn't just want to know that something works, but also how or why it works. Looking forward to more...
This is awesome! I'm a programmer and I've been interested in building stuff for Linux; but the info is so scattered all over the interwebz that there don't seem to be any clear-cut answers to questions like "what the heck is a TTY?" or "what's the difference between a window manager and a desktop environment"? You have given answers to all this and more. Thanks for all the great info! :)
Just wanted to agree heavily with this. I've got a bachelors in CS and work now as a SWE, but never really knew what was happening in the background w.r.t. the components of a linux desktop environment and how they interact before this video. Really does a great job laying out the basic components. Just knowing things like "Oh ok, applications are interfacing with an X server to draw things to the screen" feels empowering! Honestly can't believe I didn't know this stuff yet.
Excellent Video Joe. As you have mentioned, I have been using Linux On and Off since 1998, but never bothered to get into the granular details about X, WM, DM, DE etc though I know about them overall. Your video is very informative and thanks for making the videos. You are great teacher!!! Thanks, Balaji.
Thank you very much for this great video and for describiding the different pieces. At 6:10 If I understand correctly you say the X-client is actually who talks to the hardware and no the server. I think this is not correct (and please, correct me if I'm wrong) because actually is the server who handles the drawing operations (talk to the hardware and not a client). The fact that server-client role in X11 is inverted means basically that the server normally run in the local machine meanwhile clients could be local or running on remote machines and using forwarding to export the display and show it on the local machine (by using the ssh -X option i.eg). You can infact have virtual servers (such xvfb) with no real hardware and use them to run clients which requiere GUI on a headless setup.
Nice video Joe! I would've mentioned that the display manager cease it's job (or rather suspend it) after kicking the session manager into gear, and it is that that actually start the window manager, panel etc, depending on the choices made in the desktop manager. But then again, why make things complex:-). I really like the series, keep up the good work. Cheers -- Glenn
Good video. But I believe you have the x client and x server concept reversed. For example the ssh x-forwarding example shown at the end, the grsync program that is running on the remote machine (Dell) is actually a x client; the x server is running on this Ubuntu machine on TTY7. In essence, a x client forward rendering commands via a protocol called X11 to the x server and the x server talks to the hardware and draws the graphics. So when you do startx you start a x server not a client.
During the introduction you "warned" warmed up linux users that you were just going to introduce general concepts and not going to talk about specitics and configurations and such. Sounded like you were worried said users could get bored. That's a possibility, but then again i believe even to warmed up linux users, going back to basics once in a while is healthy. So thanks for your series of videos. :)
Strange, I've never seen pipe ( | ) used that way. Normally it's used to pipe the output of one program into another (grep is a popular one). If you wanted to open three programs simultaneously I would have expected you to do "program1 ; program2 ; program3" or "program1 && program2 && program3." I guess we learn something new every day, though. :)
You are trying to execute a process list on the shell. If you use only ; or && the programs will be execute one after the other by the shell, the corret way is (program; program)& which means execute the commands in a subshell and put them in background. Using | like joe will create 3 different shells for each process (fork) and the output of every command is sent to the other process ( the shell is working in background). After a bit of testing: (command &); (command &); (command &) is the correct way :P 3 subshells and all in background. Es: (echo 1 &); echo 2; (echo 3 &) the result is unpredictable.
Nope. I was trying to get the terminal to launch all the programs. && or ; will only work one command at a time. SO the first one will launch and the second will only start after the first is closed. Try it. :)
(A; B)& would start B after, and only after, A exit()'s, the same as the && version. I would use A & B & to start both at the same time. If B doesn't read its input, then Joe's A | B to run both would eventually result in the main thread of A blocking when the pipe buffer gets filled up.
It's wrong. Don't do it. Just use & You can still run a list of items. $ some_program &; some_other_program &; yet_another_program &; That's not the whole story. That frees up the terminal to interact. Might want other things like disown or redirection of stdout and stderr to another place.
That's probably the best explanation/demonstration of the difference between a Windows Manager and a full Desktop Environment I've seen. However, I'm pretty sure you got the explanation of x-server and x-client swapped around early in the video. (It's anti-intuitive.) Doubly odd, as at the end you cover X-forwarding over SSH, which proves the DE is an "x-client" (running of your other computer), and your workstation is the "x-server".
Great video Joe as it was cool too see how things actually work in which I never knew how it was done not saying I will do it myself but very interesting and educational video so for that I thank you :)
I know the point of the video is to introduce X and window managers, but you could run multiple commands in the terminal by prepending an ampersand to the end of your command string. Doing so would enable the command to run asynchronously. Mind, you'll get the error output from your applications that you are running from that terminal.... 😕
Learning aside. The performance issues are a great way to remember the information. xD "Oh yeah that's right. He said to do that while he didn't so I totally should."
when your compiz restart didnt work at the end and (even as my guru) not sure why, i had to chuckle.. thats whats always put me off when using linux tbh that feeling I need to know IO from the ground up to use the system (been on ubuntu studio for 18 months). good video and thank you but if you had delved into wtf just happened i would be grateful even if the video veers offtopic.
Window manager takes care of window decorations, placements, resizing etc, where as the display manager usually takes care of login, mounting of security enabled devices etc.
Hi Joe! I would like to use parts of this video for some material for one of my classes for my students (secondary school). I cannot find any license information, so I'm asking you for permission :)
Me too Joe mmmmm just thinking about makes my mouth water so cannot wait to go there during the winter when I travel to Buffalo to buy stuff as it cheaper in America :)
I am just being silly but the good news I have is below: I am excited about GNU/Linux today. I have been watching your videos over 3 months now ( about 5 per week ). Today, I feel I can state that I am no longer a GNU/Linux newbie. I went from knowing absolutely zero about GNU/Linux in early May to this point today. My best guess is roughly 120 days at 4 hours per day of tinkering very hard with 11 different distros and watching TH-cam videos. So roughly took me 400 man-hours. Yesterday, I installed the latest version of Antergos 2016 ( Gnome DE ), on my SSD alongside 3 other new distros: Bodhi 3.2.1 and Antix-16 and Zorin 9. Antergos comes with yaourt. I like yaourt more so than "apt-get install." Today, I manually installed the AUR helper, pacaur, using a procedure in the exact link below: gist.github.com/Tadly/0e65d30f279a34c33e9b Following these 13 steps in the terminal took me about an hour to figure out, as there was no explanation what cower* and pacaur* were supposed to be. Since I was able to figure that out with my own logic, I decided I am am no longer a newbie. Then I used pacaur to install a fun game I like called "knavalbattle," and then I won my first game of knavalbattle, in Antergos. So now I make the bold claim that I am now a novice Linux desktop distro user, with the hope of becoming an experienced novice by the end of the year. Today I feel like I completed a university level course in GNU/Linux desktop distros and I made a 100 on my final exam.
I think this is the most engaging way to teach Linux that I’ve seen on the entire web and there is a lot of stuff out there. A close second is Overthewire.
Starting from a strict CLI interface and then adding the fluff like window decorations step by step was a great choice. Really shows the difference.
Wonderfully informative video. I appreciate the fact that you didn’t edit out the mistakes and unexpected behavior from Linux. It conveys the authenticity of the Linux experience. Sometimes things don’t go as planned and you have to figure out how to fix it or work around it.
Ya know, I've never tried starting an x session in a tty so this turned out to be pretty informative. That was also probably the best explanation of client side decorations I've seen yet. Thanks for another good one Joe.
It helps to see it, doesn't it. I actually didn't know what that was all about when it first came along, either. :)
i know im asking randomly but does anybody know a trick to log back into an instagram account..?
I stupidly forgot the password. I love any tricks you can offer me
@Brycen Victor Instablaster =)
@Jayce Jake Thanks so much for your reply. I got to the site on google and I'm in the hacking process now.
Takes quite some time so I will get back to you later when my account password hopefully is recovered.
@Jayce Jake It did the trick and I actually got access to my account again. Im so happy!
Thank you so much, you saved my account!
My recent college assignment asked us to use X window, and this is the only place I could find a good explanation of how it works! Thank you soooo much!
Great idea opening up the hood and showing people all that takes place with their vehicle (aka computer) every time they go to the mall, shop and load the groceries and drive back home. To a lot of people though, all they want to know is if they are going to the mall in an Audi (say Apple/Mac) or a Ford Focus (say Acer). It appears there are still quite a few who want to know and appreciate your efforts to show us. Look forward to the rest of the series.
Thanks. :)
This comment aged sooo well and stands true 5 years later.
I really love the presentation and hands-on practical approach here. Not every detail is accurate but damned if it isn't one of the best out there on how X really fits together with your contemporary systems in layman's terms.
I also want to add 2 things you do right that push this over the top.
Audio and Video considerations.
The audio is dead perfect. No massive room reverbs. No massive variations in audio levels between cuts.
The video is clear. It's also the size that matters. So many will do a screen recording based video that's HUGE so huge that you must have a massive display to see critically important text details. Nobody needs to do videos with 4K terminal windows. It's silly. Thank you for taking the time to make something and also considering the audience so well.
This is great! I was just recently thinking that I was going to go look for something that would explain the different desktop environments and how they work. All of a sudden, I get a subscription notification and you are starting a series that seems to be heading in that general direction. I'm the kind of person that doesn't just want to know that something works, but also how or why it works. Looking forward to more...
Thanks. :)
This is awesome! I'm a programmer and I've been interested in building stuff for Linux; but the info is so scattered all over the interwebz that there don't seem to be any clear-cut answers to questions like "what the heck is a TTY?" or "what's the difference between a window manager and a desktop environment"? You have given answers to all this and more. Thanks for all the great info! :)
Just wanted to agree heavily with this. I've got a bachelors in CS and work now as a SWE, but never really knew what was happening in the background w.r.t. the components of a linux desktop environment and how they interact before this video. Really does a great job laying out the basic components. Just knowing things like "Oh ok, applications are interfacing with an X server to draw things to the screen" feels empowering! Honestly can't believe I didn't know this stuff yet.
Excellent Video Joe. As you have mentioned, I have been using Linux On and Off since 1998, but never bothered to get into the granular details about X, WM, DM, DE etc though I know about them overall. Your video is very informative and thanks for making the videos.
You are great teacher!!!
Thanks,
Balaji.
Nicely done! Thank you so much! I had have a hard time trying to understand this on books.
Thank you very much for this great video and for describiding the different pieces. At 6:10 If I understand correctly you say the X-client is actually who talks to the hardware and no the server. I think this is not correct (and please, correct me if I'm wrong) because actually is the server who handles the drawing operations (talk to the hardware and not a client). The fact that server-client role in X11 is inverted means basically that the server normally run in the local machine meanwhile clients could be local or running on remote machines and using forwarding to export the display and show it on the local machine (by using the ssh -X option i.eg). You can infact have virtual servers (such xvfb) with no real hardware and use them to run clients which requiere GUI on a headless setup.
You are correct.
This is the basic video that I need to learning. :)
Man, this is such an informative video. I'm so glad I found this. Thank you for posting.
I really loved this video
Top notch as always Joe - always look forward to your videos
24:15 I was laughing so hard 🤣🤣🤣 u got me
This is fantastic stuff, Joe. Thank you very much. I never had clarity about this.
Nice video Joe!
I would've mentioned that the display manager cease it's job (or rather suspend it) after kicking the session manager into gear, and it is that that actually start the window manager, panel etc, depending on the choices made in the desktop manager. But then again, why make things complex:-).
I really like the series, keep up the good work.
Cheers
-- Glenn
I try to keep it simple. :)
👍
Good video. But I believe you have the x client and x server concept reversed. For example the ssh x-forwarding example shown at the end, the grsync program that is running on the remote machine (Dell) is actually a x client; the x server is running on this Ubuntu machine on TTY7. In essence, a x client forward rendering commands via a protocol called X11 to the x server and the x server talks to the hardware and draws the graphics. So when you do startx you start a x server not a client.
During the introduction you "warned" warmed up linux users that you were just going to introduce general concepts and not going to talk about specitics and configurations and such. Sounded like you were worried said users could get bored. That's a possibility, but then again i believe even to warmed up linux users, going back to basics once in a while is healthy. So thanks for your series of videos. :)
Thanks. :)
Entertaining and educational, awesome stuff
Strange, I've never seen pipe ( | ) used that way. Normally it's used to pipe the output of one program into another (grep is a popular one). If you wanted to open three programs simultaneously I would have expected you to do "program1 ; program2 ; program3" or "program1 && program2 && program3."
I guess we learn something new every day, though. :)
You are trying to execute a process list on the shell. If you use only ; or && the programs will be execute one after the other by the shell, the corret way is (program; program)& which means execute the commands in a subshell and put them in background. Using | like joe will create 3 different shells for each process (fork) and the output of every command is sent to the other process ( the shell is working in background). After a bit of testing: (command &); (command &); (command &) is the correct way :P 3 subshells and all in background. Es: (echo 1 &); echo 2; (echo 3 &) the result is unpredictable.
Nope. I was trying to get the terminal to launch all the programs. && or ; will only work one command at a time. SO the first one will launch and the second will only start after the first is closed. Try it. :)
(A; B)& would start B after, and only after, A exit()'s, the same as the && version.
I would use A & B & to start both at the same time. If B doesn't read its input, then Joe's A | B to run both would eventually result in the main thread of A blocking when the pipe buffer gets filled up.
It's wrong. Don't do it. Just use &
You can still run a list of items.
$ some_program &; some_other_program &; yet_another_program &;
That's not the whole story. That frees up the terminal to interact.
Might want other things like disown or redirection of stdout and stderr to another place.
Hang on, Joe, I'm confused... Is X the display manager, or is Compiz? (If it's Compiz, then what is X?)
Thanks so much, as you said lot of stuff, but your explanation help me to give me an idea how all these stuff are build.
I always enjoy your videos... Please never stop your intro "Greetings and salutations" :)
Thats super doper series , and it help me develop my x application
That's probably the best explanation/demonstration of the difference between a Windows Manager and a full Desktop Environment I've seen. However, I'm pretty sure you got the explanation of x-server and x-client swapped around early in the video. (It's anti-intuitive.) Doubly odd, as at the end you cover X-forwarding over SSH, which proves the DE is an "x-client" (running of your other computer), and your workstation is the "x-server".
Hey man you are a treasure for beginners, I am going to disable my adblocker for you :)
This helped me with twm not running correctly. Now for further research. Thank you.
Great video Joe as it was cool too see how things actually work in which I never knew how it was done not saying I will do it myself but very interesting and educational video so for that I thank you :)
Could u do a sale guide building a desktop enviroenment only with window mánager please , explain it ofc please im so confused!
fantastic video!
to 'logout' try typing exit in the terminal, as that normally logs you out from root to normal and closes terminal sessions too.
I was. The X session crashed when I killed compiz and I could type anything... :
Ah
I often use ^D. 😁
Thanks very much for this tutorial
I know the point of the video is to introduce X and window managers, but you could run multiple commands in the terminal by prepending an ampersand to the end of your command string. Doing so would enable the command to run asynchronously. Mind, you'll get the error output from your applications that you are running from that terminal.... 😕
Pipes work too. I don't have much call to run asynchronous apps in the terminal very often but thanks for the tip! :)
Learning aside. The performance issues are a great way to remember the information. xD "Oh yeah that's right. He said to do that while he didn't so I totally should."
when your compiz restart didnt work at the end and (even as my guru) not sure why, i had to chuckle.. thats whats always put me off when using linux tbh that feeling I need to know IO from the ground up to use the system (been on ubuntu studio for 18 months). good video and thank you but if you had delved into wtf just happened i would be grateful even if the video veers offtopic.
Super useful thanks
thank you. this was great!
I'm not clear about what the Display Manager does though.
It is the X client for the Desktop Environments you have installed. It also provides a graphical place to log in and choose DE's. :)
Window manager takes care of window decorations, placements, resizing etc, where as the display manager usually takes care of login, mounting of security enabled devices etc.
Thank you for this
Hi Joe! I would like to use parts of this video for some material for one of my classes for my students (secondary school). I cannot find any license information, so I'm asking you for permission :)
Go ahead. Just don't repost the full video anywhere. :)
@@EzeeLinux many thanks! Of course! And I have added credits at the beginning 👍
Why did you use a pipe to open up those programs and not &&, never seen that. Was that pipe even used? From a streams perspective?
It's a way of opening programs in such a way that they all launch at once. This is for GUI apps... The pipe will redirect to CLI apps. :)
@@EzeeLinux ah ok so it's not a logic operator, it'll launch everything even if one fails. And it's not redirecting stdout to stdin. Nice!
Buenisimo! 10/10
Great Video!!! offtopic, how i can use microsoft office on ubuntu? thnak's in advance!!
You can't. Use LibreOffice. It does every thing MS office does and then some. :)
Yes, i know, but in the university and work they use microsoft office, word and excel and something i can't edit :(
Amazing, thks for keeping it simple for stupid/dummies like me.
please do a video on how to use web and email from the terminal.
You have to use the text mode web browser like lynx to browse the web from text mode.
Great thanks
I am watching this in the stall of a swanky Olive Garden italian restaurant. LOL!
Mmmm. I love their soup! :)
Me too Joe mmmmm just thinking about makes my mouth water so cannot wait to go there during the winter when I travel to Buffalo to buy stuff as it cheaper in America :)
I am just being silly but the good news I have is below:
I am excited about GNU/Linux today. I have been watching your videos over 3 months now ( about 5 per week ). Today, I feel I can state that I am no longer a GNU/Linux newbie. I went from knowing absolutely zero about GNU/Linux in early May to this point today. My best guess is roughly 120 days at 4 hours per day of tinkering very hard with 11 different distros and watching TH-cam videos. So roughly took me 400 man-hours. Yesterday, I installed the latest version of Antergos 2016 ( Gnome DE ), on my SSD alongside 3 other new distros: Bodhi 3.2.1 and Antix-16 and Zorin 9.
Antergos comes with yaourt. I like yaourt more so than "apt-get install." Today, I manually installed the AUR helper, pacaur, using a procedure in the exact link below:
gist.github.com/Tadly/0e65d30f279a34c33e9b
Following these 13 steps in the terminal took me about an hour to figure out, as there was no explanation what cower* and pacaur* were supposed to be. Since I was able to figure that out with my own logic, I decided I am am no longer a newbie.
Then I used pacaur to install a fun game I like called "knavalbattle," and then I won my first game of knavalbattle, in Antergos.
So now I make the bold claim that I am now a novice Linux desktop distro user, with the hope of becoming an experienced novice by the end of the year.
Today I feel like I completed a university level course in GNU/Linux desktop distros and I made a 100 on my final exam.
So gooood!!!
What is the difference between X Server and Wayland?
X works and Wayland doesn't. Wayland is still not quite ready yet. Give it another year or two. :)
@@EzeeLinux Thank you, so basically they both are X Servers Windows? Or Wayland is a Windows Manager?
@@GooogleGoglee They are display servers. The Window Manager is another program unrelated. :)
@@EzeeLinux Thanks you solved my doubts
Just to know, how can I install and force Wayland instead of X Server on a machine?
Thanks ..
i am not a WINDOW cleaner