Boo-
Aditya, have I ever I don't think I've ever met you
This is, the St. Louis area. Now the St. Louis Unix users group meeting for September thirteenth Wednesday.
Or initial meeting. Presentation is going to be by Steve Stegman. Go ahead, Steve.
She can share your screen.
I think he got kicked off. Or left.
No, he's still there. Oh, wait a minute.
That was great timing. Yeah.
Yeah, but yeah, he did I didn't, I didn't kick him off.
Well?
While he's gone, we can all bash Emacs and. How much we love them.
Okay.
Yes. Okay.
Okay. Oh, there are a few people that like them that are here in a room, I think.
Oh yeah, okay, we started. I'll go off for 30 min on my on the new bim things I did this week.
Okay.
Excellent. Sounds like a presentation in the making.
Yeah.
Always in the making.
Oh.
Got a lot of new faces tonight. I see.
If anybody wants to come off mute, introduce themselves, say how they found out about the group, that'd be beneficial for us to know.
Yes.
But if not, that's okay too.
Hi, Josh Horton. Newby, IT tech and. X Mechanical Engineer Project.
I'm a felt 400 pounds and 6 foot 3. I like long walks in the beach. I discovered your group written in blood on the bathroom stall.
Alright.
And also on meet ups and I I figured I'd learn a little bit more about . S.
Okay.
2 and one since I didn't know much about it Let's bet all.
Cool. Yeah.
That's more than enough. I like that. Yeah, this young man was a, So, Ramp, is that?
Yeah, we hear you fine.
Oh, so hi, can everybody hear me? It's like this guy, Gary Mayer invited me.
I've been to us look before it was maybe 10 years ago but I'm happy to be here again.
He thought the Emacs topic would be of interest to me, and I'm really looking forward to it.
Oh cool. You know, I'll be interjecting some stuff as soon as I can find that where Steve
I think I'm gonna have to, no I don't have Steve's phone number. Gotcha.
Doing it. Let me see if I can find his number here. Got it. Address.
I think it probably was some sort of technical difficulty because he was about to say something and then Then he left.
Yeah. Yeah. Okay, yeah.
Yeah. Yeah.
It was complaining about how computer wasn't working well. And then he just vanished. So I don't know if those 2 things are related or not.
Okay.
Yeah. I hate to.
Okay, I said, today has been one little crisis after another.
Okay.
Not necessarily a crisis, it's just one little grew up thing after another. And Okay, that's not.
So Josh, you said you're not familiar with WSL. Do you use, Linux primarily or a Mac primarily or what do you what do you run?
I've run a little bit, everything for work. So we have Meg and Windows devices and couple of school systems to help them support just level one break fix stuff.
At home I have a couple of Windows laptops and I run just pop OS on the desktop.
Not a heavy user but just kind of new to it and was kind of curious what the sub-layer would be.
Steve was in and then he's out.
Well, you might be interested since you said you're new to Linux. We actually have another group called the new Linux group and I think, I think, stands on the phone right now, but he runs that one.
And I think they'll probably talk about it a little bit later, but the way they run that one is they just.
Show up in a zoom call like this and whoever says they're the newest person to Linux they get to start with whatever topic or question or whatever is on their mind.
Go around the room. Is that right, Stan?
Oh, I'll answer for him. Yeah, it is mostly the only thing is that it's not on zoom, That's the only difference.
Okay, if I get a chance, I'll try and attend to it. It might be fun.
Yeah.
But mainly I've just been I basically my Windows 10 install crashed a few months ago and been on the list long list.
To kinda get in the Linux and and bounced around a little bit but I'm Pop OS and Join it.
I think the next thing I'm kind of looking at is either Something different, maybe like Knicks OS to really see how bad I can break.
Everything.
You said you were using pop OS. How do you like that?
Yeah, I mean, I picked it because I had at the time I was installing, had into video graphics card.
Right.
So I just want something with those drivers kind of easily available. That just seems to work pretty good. But it's okay the there's some things about that are buggy but you know i'm pretty easy going and i just kind of uses that Giving machine slash.
Time waster machine.
Where we go, where we go.
Here we go. I was gonna show this at the at the middle of the meeting, but I'll go ahead and start it now.
And it's the sequence of the meetings is normally What we have, well, what you may know, where to slug, where, an IRS Bible, one C, professional designated non-profit organization.
And we got Professional show up here, system experts, hobbyists, students, networking people, operating systems or agnostic Linux BSD, free open source software.
We've met continuously since, July, 1992. All our meetings are free and open to public and there's no individual fee.
Usually, well, this meeting is on the second Monday, Wednesday of each month. We start with vase.
Which is a, you know, kind of a simple thing. And then we have a middle thing. We call it the GUI Medal.
It's kind of like a, an Oriole cookie kind of thing and then then we go on to the main topic.
Which may be a little bit slower today because, wait for Steve to get his sound going and and sharing his screen and everything.
I think I'm back. Can you hear me?
Yeah, we hear you now. After the main, the video chat and all the slide work will be available.
Within the next few days and after the the general the general discussion and questions People can go to our mailing list and ask things.
So we'll go ahead and start with. Steve's talk, it should be, you know, something simple and you know, I asked him earlier on in the month or a month or 2 ago, he would do something or how to get involved.
And how to start learning. Emacs because I did a thing on a couple of things on how to start learning them and VI and I thought equal time would be great because I never really got off the ball with with with the Emacs.
So. If you wanna, I'll stop sharing, if you can start sharing your screen, Steve, and everything, I appreciate it.
. Stegman
Right.
Let's see. This will work.
Okay.
I got CPUs are completely redlined here. I don't know what's going on.
I don't make any sense but
Okay.
We'll see if we can do it.
I see it's sharing now. Yeah, we got you.
Yes, we do.
You see it? Alright.
Let me see if I can find back the.
There we go.
I think that's the screen you're looking at there. Can you see this? What is the world?
That's not the file I wanted.
Gee, this computer has just gone crazy tonight.
Hmm. Is it a full moon? We see the slides. Yes, we see the slides.
Can you see that? State.
Learning to use Emacs. Slide one.
Yeah. Yeah, if we,
Yeah, Stan asked me to just do a quickie on, how do you get started with it?
We could probably do. A week long training class on this editor or more. Or just doesn't seem to be any and people just keep It's under very active development.
And. People just keep building stuff in and building stuff in it. Just amazes me.
But if you wanna try it first thing you gotta do is install it now The latest stable version is EMAX.
29. Dot one. I've got that installed on this machine. I am not currently running it.
I had a build that from source code. Which is kind of interesting to configure file that it runs through and It's easy you got this installed you got that installed yadda yadda and that's like 45,000 lines.
I can't get over it. And then it compiles for about an hour. And, it runs.
I haven't got it to run on, one to 22 yet. There's a couple of files missing over there.
Right, doesn't matter. I got plenty of versions here that the to the new user you can't tell the new version from the old it's pretty much indistinguishable
But the first step is installing it. Best way to do that is from your distros repository.
Suitupt install Emacs. And if you're on Sioux Zipper install Emacs.
I'm not sure why Zipper is so much easier, at least as it is. It looks to me like about the same amount of work.
But at any rate, it'll install whatever version is in the. Repository and you know they all work the same there are teachers being added all the time but you know, if you're, I don't know, a casual user back in the.
Nineties when I was pounding code. 12 HA day. And the early arts. I was up on all that stuff now.
Yeah, not so much anymore.
You have to understand, Emacs is old, the first public release version was 13. And that was back in 85.
So it predates graphical user interfaces. That That's all been built in over 20 years ago, but you know it Makes some interesting things along the way Tonight, what I wanna cover.
Is learning to install from a repo, understand buffers, windows and frames. Opening and closing.
And saving files. How to move around in a file, closing a buffer, and backup files.
And then I'll show you some. Code examples to compose. You can always just get in the editor and write the code like you always have that works perfectly well.
Or you can do something like I've done over the years and develop some macros. That'll do a lot of the coding for you.
At some other point we'll do another program. I've written, I've given a presentation on using Probably nobody remembers that.
For the more useful things you can do if you're actually code pounding is running a debugger inside Emacs.
Typically the one you run is Jiva, GDB. The news debugger.
And I'm not sure what languages that works on, but I'm guessing it works on most of the popular languages.
You could probably use another debugger. I just Never bothered. And you know, then we can show you how to create macros.
You just records keystrokes like if you want to do something 20 times. He's recorded keystrokes and then just, you know, call him back up and tell him to do it.
Let's see.
So those are things that you intend to do at a later presentation. I take it. Yes.
Okay. Right, there are no way we're getting all that tonight. This is not going to happen.
Right.
So.
The underlying concepts about how this thing hangs together is You're creating our modifying A file on a disk somewhere.
Big shock. But it isn't always obvious.
Once, When you open files or visit files.
They, it,s create a memory buffer and loads the file in.
If you. Close a buffer.
When you close a buffer or when you close a file, you can close a file, stop looking at it, so to speak, without closing the buffer.
You can save a file without closing the buffer. You can also if you've done something dumb.
Nice. I speak from your experience here. You can abort your way out and Nothing will happen to your original file.
Emacs has Windows. Which display parts of a buffer. So you can have as many windows.
You want open at any time and it works simultaneously, you can have them all looking at the same buffer all looking at different buffers, whatever floats your boat.
You can hear. I know I've done this if I want to move got a long file say a few 1,000 lines and I want to move something from one part of that buffer to another part of that file.
Usually I'll open 2 windows. Point one, you know one is going to be my from window and the other one is going to be my 2 window And you know, I just cut and paste one to the other.
That is so much easier than going back to the front of a thousand line file grabbing something and then scrolling your way down to the back end of a thousand line file and pasting it in without messing it up.
The other concept is frames. A frame is an operating system level window. Like the one that the slides are in, you know, it's got a blue border on top and you know yours probably look different.
But it's an operating system level window with standard decorations. It can contain one to many Emacs Windows.
And.
Again, the windows, looking at buffers. They can all look at the same buffer or they can look at different buffers.
Emacs supports as many frames as you like. I'm not sure if all moderate editors can do that or not.
I don't know. Probably. But. Emacs has typically been used by.
Very serious people. You know, they, in the years past they just couldn't care less about.
Pretty windows and decorations and stuff
Like, when I worked at Boeing. Worked on. Military simulations. For the analysts who were trying to figure out, you know, what's this miserable and do versus that aircraft, you know, that kind of thing.
And, Most of the programs they used were not graphics intensive. Hey, graphics that you could go through the file and display what happened.
After the fact. But you'd ask them, do I need to build a graphical interface for this?
And I go, no, I don't want it. It just slows it down. Now most computers probably have enough power to run the graphical interface, but I been out of that business for better part of 20 years.
So it's hard to say what they're doing. Okay. I remember at the time.
We took some Linux computers and Unix computers. And I guess they were mostly Unix. And ran simulation programs on them and on Microsoft Windows.
It wasn't even a contest. You know, the one simulation, it'd be done and the other ones still loading.
Okay, guess which was which. Now there is a tutorial available for Emacs. It's built in.
If you can find Emacs, there's a tutorial in there. Usually when it opens up that splash screen it opens up it has a link on it to click to the.
Tutorial. You go to the upper menu bar you can see where is one of these puppies
If you go to the menu bar up on the top and you pull down help. First one up there is EMAX tutorial.
And it comes up. And one of the things this tutorial is not like most of the new tutorials you say this tutorial has been around for
I know, 25 years. And the thing is, Emacs, you know, works in the graphical user interface just fine.
One of the other things is a lot of people use it on servers where there is no graphics.
So this tutorial is all based on
No, graphics. It's just the way they decided to do it. It was done. At that tutorial was probably created before there were graphics.
You know. If you're on Emacs. On an x window system it looks exactly the same on Microsoft Windows you get it precompiled from Microsoft And.
Would that be some kind of, in cursor setup?
Yeah, I think if you don't have that I think it uses,
I'm going over to another machine here. I want another machine so I can't open the window here and if I run Emax here It looks like that.
And everything you can do with a keyboard. You can do on these terminals and that's the way you would typically run emacs.
Like Lee, he's got probably 20 servers out there in the world somewhere at different customer sites.
So what ever editor he's going to be using, he'll run it this way. There's no graphics.
It's all text-based. I imagine there's curses in there somewhere, Stan. I would guess there was.
I can't absolutely say, but I would think there would be.
Would be. Regardless, it looks. Like it's very usable.
Yeah, it's everything is exactly the same. The code behind it works exactly the same. You can compile it if you're going to use it with servers you should compile it without graphics.
Makes the program much smaller. And run faster. Use less memory, blah, blah, blah.
Everybody knows the drill. But everything about it's the same.
I'm gonna keep this one open for a while.
Alright, let's get this out of the way. Yeah, it's it's so it works through it doesn't the the tutorial does not understand mouse.
Okay.
You know, this is just a, it's a X term, I guess, whatever this thing runs for.
For a plane terminal.
And you set the size of your screen to 80 columns wide and 23 lines high. That's exactly the size of the old deck VT 100, which is probably what this was written for.
And it's still there in the current version doesn't look any different.
I went through it. But that was 1987.
And I can't. Remember a lot of the details, but it'll show you how to move around in the file, how to page, how to search for stuff, you know, it's got all that standard stuff.
Off in it. And it seems to me it took about an hour to go through it. It was an hour well spent.
Excuse me.
Oops. Hello, mouse.
Go ahead, I'm sorry.
Here we go. Go, no, go ahead, go ahead.
Okay, now. You've got the cursor keys, the arrow keys, you got the mouse, all that stuff works.
If you run an emacs on a plane terminal like this well Mouse does do a little bit.
But those are functions that are built into the terminal not the editor The editor doesn't really know the mouse is there.
But if you want to find a file, if, let's see.
Let's just do the navigation keys. These are all the large C indicates it's controlled key.
So go to forward one character. It's control F. Backward is Control B. He is previous line or up.
And his next line or down. Control A goes to the beginning of line E to the end of line.
K, the from wherever the cursor is to the end of the line and control D deletes the character under the cursors.
It mimics the delete key on most systems. One of the things if you get used to using it, once you get into it, I always compare it to like working with a a violin or a kazoo.
You know, if everything is super duper simple, then you got a kazoo. And if you got 20 years experience, it still sounds like a kazoo.
If you go to the trouble to learn to play the violin you can make amazing music with it.
I wonder what happened there.
But it's gonna take some work.
But what I find is that To this day I still use these keys I won't What happens is you can do everything in Emacs without ever moving your hands from the home position.
You know, your pointer fingers on J at F. And you can do everything with your hands in that position.
That's why it uses so many control keys because you don't have to reach over and find the mouse.
You don't have to reach over and find a cursor keys or number pay of keys or anything.
You're all there. You're certainly welcome to use them if you like. But you don't need to.
If you're, you know, if you got some ideas you want to get down before you forget it.
I can tell you all about that. These keys are much handier. I still use them.
I got used to use them. I still use them. It's amazing. How much faster you can work if you don't move your hands away from the home position.
Especially as you get I don't know if anybody else here has got arthritis in your hands, but That helps.
Okay, let's see. Okay. If you want to, open a file. And I gotta resize this here.
Here we go. So if you want to open a file, you come here, you say open file and it throws up one of these and you find your way through the thing and open your file.
That all works the same as it does on every other editor in the world. The other thing you can do though is you can say, Control X followed by an F.
You see down here I've got a command line. That is going to. See, I forget what's in that directory.
So now you can open.
I hit a. Question mark and what it does it opens a little window down here at the bottom and it shows you what files are in that folder
Now one called key setup. This is based on my macros and these are the most common.
Macros that I. Use when I'm composing C code. A lot of them have been modified to work with Java and, you know, other.
Pearl, other, languages. I know it's got kind of Python mode.
I don't really care. I don't I don't bother with it whatever code I do anymore I still do it in C or C.
But like Good.
Steve, I got a quick question jumping back to the navigation slide. You got control F to go forward like a line.
Right, same thing as the right arrow.
How would you go? Okay. Can you go forward like ship characters or 7 or something like that? Or do you have to just keep constantly saying control that control that control that?
Can you say 7 control up or what?
Okay. Let me try it.
Oh, I don't want it. I don't wanna do that.
So, control you as the universal argument. So you would do like control U, 9 control FI think.
So that works.
Yeah, that sounds real familiar.
Thank you.
Yeah, usually any command like if you if you type your typing in a file And you hit the number 6 and then hit A, it'll put 6 A's in.
You don't actually have to have that. Control you, same go in there.
But all of these work that same way.
Where you can just hold that finger down and you know, let the key repeat. However fast you got that set to go.
Yeah. Okay.
Okay, now. Let me find here.
Okay, I'll just have a little window here. Don't need much. Now, you can do all of this from the key keyboard again, Control F.
XF says fine file and . And it'll show you what's in there. So And, let's see, you can just click on it here.
Or you say if.
Fred.
It has file name completion. It has directory name completion. All that stuff works.
If you say if you got something you say, Control XF. And ask for file George.
Okay, it can't find George so it creates a new one. And you put some gobbledygook in there.
And you wanna save it, say control.
Yes, it says you wanna save file George. You give it a yes, no, whatever. And if you say no.
It's gone. If you've got an existing file open, files that I got here.
Now if I come in and I modify this file.
Okay. And I wanna save it. It control X and then S. And then it'll ask me if I wanna.
Save it. You can also give it a command where you punch the save command and it doesn't ask, it just does it.
And it's overriding the existing version.
And when that command line. Appears to come up for saving the file. You can back up down move anywhere in the file tree with that just like you know if you're on a command line
No, Control XK kills the buffer. And actually eliminates the buffer. So if I say Control X.
Where are we at here?
Okay, this computer is so sluggish. Now it says kill buffer. Okay, if I just hit the return, that buffer is gone.
Now, one of the things when you kill a buffer like that And if you did modify it. You look at your, you do an LS minus L and you look at your.
Directory and what you'll see is If you've done it, I've saved this 1 3 times.
That's the newest version. That's the next oldest version and that's the oldest version.
In fact, you can see it from. Looking at the time axe here.
And that's all. Suffix on it. Those are Emacs backup files. They're perfectly Good text files, you can look at them with any other editor, you just have to use this name.
Those are created automatically. It'll keep. I don't know, sometimes I've had as many as 30 files if it's one that I Change a lot.
One nice things about that is you can go back. And, Look at at the progress of a file from it looked like this and then it looked like this and now it looks like this And if this version doesn't work, Well, you can start going back and comparing them.
Use, use, use, use a file comparison utility and look at them. See, what did I actually change?
So sometimes it's surprising. Did you have no idea what you changed?
Let's see.
Search and replace. Yeah, that's very powerful. There's
Okay.
If you've got, oh, and control. Of my keyboard control home and and you know if you hit the control down they go to the front and the back of the file Home goes to the beginning of the line.
Oh, I keep hitting a delete key. That's why that looks like that. But Emacs has 2 kinds of searches.
There's an incremental search. So you trigger the search and then as you type your search string.
It'll it'll start finding it.
Or you can, it works forward or backward. You can do a regular, regular expression search.
And as best I can tell, it implements everything in a regular expression. So you can build all sorts of interesting stuff.
Into your searches. The there for each one of these 4 searches There is a.
Non-incrimental search. You know, you type the whole character string and then see where it's going to go.
Anything you can find. With these searches you can replace with You know, you can replace with whatever you want.
Really? You can search for words. Separated by unknown. So I may, and may want to look for, you know.
Stan Reichert and it'll find Stanley Tom Reichard if that's your middle name I have no idea but you know it'll find that it'll find an instance of those 2 words separated by Whatever.
Very interesting kind of searching.
If you've got files where you don't. You can't see the whole file on the screen at once.
Then that can be very powerful. Yeah, that's it. That's all I got for tonight.
Let me. See if
Now here is some code.
That I just ran out this afternoon done obviously doesn't do anything. But this is a header comment.
You call up the header. Again and it comes up and it says what's a date today or what date do you want to put in there?
It says what's your purpose? You're something and methodology and it opens up here. It opens up 3 lines and puts a cursor in the middle one.
And then you can write. You know, I mean, I've written as much as a thousand lines in there.
Depending on what I was doing back in the day. And then you have to come back and comment it out.
It is.
Go ahead, Stan.
Is this a macro or a? Program you call or
Okay.
Yeah. These are in fact Lisp functions that I wrote. If anybody wants them, you're more than welcome to them.
Okay.
What you do is you put in main. You know, and you put your cursor here and then you call for the, header.
And it knows it's in It knows the name of the function, it works with any function. You know it'll put the name of the function up here it'll go out and grab the file name put it here first time.
You do that it's gonna ask you for your name and title and yada yada And then it'll go through in this and when you're done, it'll give you this comment block.
Now you come down here and you want if you want to add a comment block here. Excuse me.
Undefined. All right, what did I do?
I got it screwed up.
Those are those are comments. That's the way.
I take it the slice stars or comments in Yeah. Yeah, that in particular. Lisper.
No, that's just the way if you're if you're looking at C or C plus plus that's the way comments look.
Oh, okay. That's just, I didn't know which language you were, you're looking at here as an example.
Yeah, this is clean.
Okay.
Yeah.
Okay does anybody have any questions I need to throw at you?
Okay.
Okay. Going once going twice
Go on.
3 times. Okay. If you would, Turn off your screen sharing.
Yep.
Hello.
The other thing came back.
And okay, Yeah, I'm gonna try and share my screen.
Okay, I'll go back here and earlier on I started this meeting order saying sequence of the meeting events.
And talked about us and the sequences. Every Wednesday we have a meeting and start out with the base topic.
Steve Stegman just did our base topic for this month, which is about how to get started. With Emacs.
Right now we're at the middle of where we do introductions, announcements, call for help kind of questions, that kind of thing before we go on to our main topic area.
So we try to make these base sessions short and simple. That was nice and short and simple. I hope it wasn't.
And confusing. If you've got questions, you can always ask them. Now or you can go on and ask questions on our base mail area.
Hey, discuss mailing list. And later on we'll be doing the main talk, a little more significant thing.
And. I'd like to point out that we have Some sponsor groups and the St.
Louis Linux Users Group meeting. We have a Slack meeting, which is about, a, About generally hardware and configurations.
We have a Linux configuration workshop if nothing else is going on. And then at the end of the month, we have the new Linux.
User group meeting. We also have a calendar where we sponsor, they show our sponsored events that are highlighted in red.
Let me see if I can show an example of that real quick here. I can remember where. Nope, that's not it.
Nope. Nope. Nope. Nope.
Here we go, and if you go here, calendar. Good. Their calendar here.
We're just seeing your presentation. We're not seeing the browser right now.
You're not seeing my browser.
Okay, let me jump back to that.
Your screen.
I got a browser up. I can show it to you, Stan, if you want.
Okay, okay, go ahead and do that.
Alright.
Hello?
I think, yeah.
And click on account.
Yeah, it's the same with Unix users group.
Yeah, I'd better bring it up if you would.
Yeah.
Up on under resources, drop down menu.
Calendar.
Yay!
Oh, you got it so I can actually read it. Cool, so change that. That's excellent.
I think Sean sticks death for us. Hey.
Oh, kudos to Sean or whoever did that. Yeah, for years, couldn't see it.
Yeah. Now it. Now, you'll see on the calendar, there's some of these lines that are red.
Those are sponsored meetings. If you go over here and where it says it says print week month agenda a little triangle next to the word agenda you click on that little triangle
You would, Steve.
Where are you looking at Stan? I was closing stuff.
Right above the actual. Calendar days it says print week month agenda there's little triangle next to the word agenda click on that and uncclick everything except the red thing.
Okay, and slide down if you would in it shows the meetings that we have. Our sponsored meetings.
Yeah.
And, you click on the others. Those are St. Louis local live or regional events. And then there's remote online events we have.
On this calendar we have things like the the Atlanta Linux users group that's meets on Sundays things like that and a lot of those remote or meetings or they're held with zoom or gitsy or something similar.
Whatever. Okay. Now if we go back. Oh.
Back to where?
Okay, okay, I'm gonna go back here real quick Where did I put it? Do you literally do?
I don't know where you put it.
Look, I understand that.
Well, I'm trying to remember where I put it. Yeah. Yeah. Okay.
That was the calendar we do and we have mailing lists. We have our announced mailing list. We're very limited traffic.
Lately all we've been sending out is stuff about the the instructions for how to get under a meeting.
Our discuss mailing list. General discussion, opinions, questions. You know, you can ask questions and and get to answers, hopefully good answers.
And reviews if the hardware and software is that kind of says stuff is acceptable there. Then we have a steering committee.
Mailing list yet you can join and every opinion accounts you don't have to be somebody that's been in the group forever or you don't have to be an elected officer or anything.
We welcome people to come to those meetings and throw out their 2 cents worth and it's usually Quite valued.
And then after that, the presentation is just like tonight's meeting. We're recording it. It's gonna be.
Up available on on our presentations archive page. And you can see that on our front, it's down further on.
The the the homepage and it can be directly accessed by going to this link here. And that's pretty much how the the middle of the meeting goes.
So at this point, does anybody have any announcements to make?
Go and watch, going twice. I'd like to announce that next week St. Louis Linux.
User group is we're gonna have a guy in from Red Hat. He's going to talk a bit about something called Podman Terminal.
I have no idea what that is. But that's why he's gonna be presenting to us next, next, Thursday on what the twentieth First, I think it is.
What is that date? Yeah, the 20 first of September. Okay, and then the 5 days later, the following Tuesday is the new Linux users group for anybody's welcome there.
We especially like novice users, they can come ask questions, new sky in the room, he gets to ask all questions and direct the the, the topic matter.
Okay.
There we go. Beyond that, Anybody have a call for help? Did it break anything this week?
They need some help with.
Go ahead, Ed.
Just stand real quick. On this coming Tuesday. Is, at this semi bug or the south eastern Michigan BSD users group.
And, that's also an online meeting. And it will be on Risk 5, the new chip architecture.
It's open platform, open source, open hardware. And I believe the link is on our, web page.
Down the calendar.
Yeah, it's on the calendar. I put it on the calendar. Yeah. Thanks for reminding me about that, Ed.
I forgot all about that. And, you'll find all kinds of really neat stuff on there.
We We promote other Linux groups. We promote others. Groups. It doesn't necessarily be Linux or Unix or you know, or BSD or whatever, it's technology.
That's what our calendar is for. Promote the education.
Oh, let's see. That was our, okay, still got a call, help anybody break anything they need some help with.
I have a question. It's something they run across.
I got an ignition problem. On one of my trucks, anybody know how to fix that?
The The hardware stores has stopped selling dynamite to me for some reason.
Okay.
Oh no. Yeah, it's Go ahead, Tony, see.
Yeah, I have a question. Anybody using XFCE? And.
They click on the menu and right-click on an item in the menu, can they edit the edit the link in or edit the.
Menu item.
I'm not sure that software.
But what But distro is with the
This is Debian.
Debian. No, I haven't tried it. I stick with the because I use Linux mince.
I stick with my tape and the cinnamon. And I don't use the I don't know.
Oh, by the way, I'm logged on as League Lambert, because to start the meeting, And so I'm Stan Reichardt.
And, Okay, somebody's confused there. The icon is showing me as Lee Lambert, but that's not Lee because Lee's out of town.
Okay. Anyway, any other questions about anything. I take it nobody has an answer for you there Tony
Well, I know very little about XFC, but I've heard of this thing called the Whisker menu.
Is that what you're, do you know? Do you know if that's the one that you're?
Using is the whisker menu or is it something else?
I don't
No, I don't know. I don't know what that is. It's just a regular, application menu that up in the upper left corner.
And you know you normally you click out on the left button and then the dropdown comes out and you can left click on any item to oak to run the application.
But some people say they can right-click on that item and edit the settings for that menu item.
And I don't even know how to Google that. Question.
Yeah, so what I just put in the chat was the link to the Whisker menu. And I think that that's the one that a lot of people recommend for.
So if you're not using that one, then maybe it'd be worth checking that one, then maybe it'd be worth checking that one out.
See if you can do your editing.
I'm gonna look into, I guess. Thanks.
I think the real big benefit of that one is has the search bar. So you could just like mash the super key and start typing whatever application you try to get to.
You all.
Okay. We ran a little bit. Go ahead, Ed.
I haven't. Oh. Just have a click, update announcement. A few months ago.
Quite a while ago we had a talk on applications that were written in rust or unix and Linux i don't know if you guys remember that we had a really good presenter on the main meeting.
And he was talking about various applications that replace command line utilities that you, you know, LS, at and that type of stuff and they were written in rust.
And the update that I wanted to make is that One of the ones that he talked about was called Exa or EXA and it was a replacement for LS.
And that particular project. Is having a little bit of a controversial meltdown. And, apparently the founder of the project has Go on missing.
Nobody knows how to contact them. He's not updating anything. So basically, a lot of people are recommending.
There's a fork of the project called X. Sorry EZA so EZA So instead of EXA, it's EZA and.
It's a complete fork and they've created a foundation so that this kind of thing can happen again.
The truck bus number is not one anymore. So if you're interested, it just go to GitHub and look for.
Eza. So that's echo. Zulu alpha. So I just wanna update everybody on something if you had installed it before.
You know, it'll still work, but probably not gonna get any updates.
Anybody else? Go ahead.
Yeah, I got a question. I got a disc has gotten bad. And FSCK. Can't fix it.
Let's everybody's Anybody's favorite dis recovery tool for. Those bad discs.
First thing I do is, Steve Gibson's,
What? What do you call it? Yeah, spin right.
Then right.
And there's also a there's a series of,
F.
Hello.
Linux things under what, dis, REC, DISC recovery. Some guy did a thing, he started out trying to recover this from.
Thank you.
Our recovered files from. Those little things you keep a little Car that you put in cameras and then USBs and things like that And that that sometimes recovers.
Oh, it recovers files. I don't know how well it does on recovering. A bad hard drive I don't know about Not if I think about it.
I'm. I'm talking 2 different things. Okay.
Depends on what happens at a hard drive. Did you have it installed in a RAID system or was it just a single?
Hard driver.
It was just a single drive.
Yeah.
Oh Well, good luck with your backup.
Yeah. I, you know, the thing I always reach for first is it's been right.
Okay, that doesn't always do it. I've gone through the problems of, you know, earlier thanks for this thing starts getting bad and it used to be the events like you wind up throwing things in the freezer for a couple hours and then then trying it.
And sometimes that worked. But that was in the old days. I don't I haven't run across anything lately that that Haven't had a disco bed on me like that in a long time.
Yeah.
Cause I run spin right on it all the time and that seems to Keep them in pretty good shape.
What does spin right do?
It goes in and recovers bad, bitrock or things on this thing is going away.
Hmm.
That's not necessarily going to recover a bad. Super block or something like that. It not necessarily.
But, I mean, I've dealt with, especially with Microsoft Windows machines back in the day.
With, 95 and Windows 7 box blocks, Windows 7. Installations on a laptop.
You've killed that person.
Sometimes this thing just would not boot. You'd run spinner, you boot up. We spin right and it would go it would find the bad spot on the hard drive and then the thing would boot up, you know, so.
Sometimes, maybe that's the issue that you're thinking is the the hard the file system is dead.
I don't know. It's a But you know, it's pretty much there's there's a maintenance mode.
It's recommended you run it on your hard drives, your spinning disk. Every, maybe 2, 3 times a year.
You know, and I, I try to do that and it Honding I got I got this been around here.
I think there's about as old as my I don't know. It's about as old as my, SUV and,
So.
I've got some discs that I don't like to think how old they are, how many hours like My 2 main desktop computers, I never shot them off.
Only time they go to, power outage and
So.
Right, now. Yeah. Yeah.
They're pretty much trouble free. One of them has got, I don't know, maybe it's got bad memory or something.
It's got
Well, it'll find the bad sectors and it'll write stuff. It'll, it'll write stuff.
It'll, it'll move stuff to a good sector and, and things like that. It'll move stuff to a good sector and things like that.
Hmm.
Now spin right costs like $90 but it's gotta he's got an absolute money back guarantee if it doesn't work for you he'll give you money back no questions asked And the problem is right now it's very it's relatively old and it takes like forever to run on a 2 2 GB hard drive.
But he's writing a 6.1 update. Is he going to when he finally releases the darn thing.
He'll give it free to everybody's got purchase of 6.00, and if it.
Okay.
It's the only software besides Windows Microsoft Windows 7 that I bought have paid for in the last 20 years and the other reason I got to Microsoft 7 was because I was trying to help my brother with his Microsoft 7 setups.
And, And I did buy a laptop with Windows 7, with Windows, 7 on it because or no Windows 10 on it because the sister in law is trying to migrate over to Linux.
As soon as she gets satisfactory moved over, I'm wiping the window 7 off of that laptop.
Is a little bit.
You know, heartbeat.
Yeah, I've still got a couple of Windows computers. One of my What I'm upstairs, my wife uses it.
Yeah.
It's running Windows 7. And. You know, it seems to be okay.
Yeah.
The one I got down here is Windows 10. I haven't turned it on in a while.
I don't know what's gonna happen when I started up. Microsoft's probably figured out a way that the computer won't work until I send them several $100.
Which case?
Yeah. Well, speaking of, speaking of Microsoft, we probably ought to move on to our main speaker tonight.
We have somebody from Microsoft. So it's gonna talk about the. Windows subsystem for Linux.
John Newbalt. Do you? John, are you there? Can you hear us?
I share him. Are you guys hearing me well?
Okay. We hear you quite well. A little bit fuzzy, I think, but I think it's quite well.
No, okay.
So I think I'll just turn it over to you and I'll stop sharing. My, my screen here.
This is John New Bolt, his, bio is, is linked there on the main page.
Go from there and he's sharing your screen now and go ahead John.
Thank you, sir. Just a brief little introduction. So I'm, you know, currently with Microsoft, but I've got a long history of Unix and Linux usage.
I still remember installing. Slackware Linux from a set of floppies where I remember compiling, you know, colonel for free BSD before the releases were 100.
CDs off of, so like cheap discs or cheap bits and, you know, for I think $5 you could get a Linux distro burned, on CD and mailed to pre, you know, any sort of high speed internet, obviously.
Yeah, so been around Lopock a little bit. I know. That you know conversations about Linux not commonly coming from the Microsoft camp but I do think that, Windows, subsystem for Linux is a really neat product that Microsoft has put out.
And it's kind of evolved a bit over the years since it's inception and I feel it's in a A pretty good place.
Certainly doesn't replace running Linux natively. But, for, you know, certain use cases, I feel like it does a fantastic job.
So, you know, kind of before I get started, a little bit of the knowledge is predicated on, you know, the understanding of virtual machine hypervisors.
Or a virtual machine, the concept of the hypervisor being able to
It's to emulate, hardware to a child operating system such that the the child operating system.
Runs thinking that it's, you know, natively running on, bare metal hardware.
The that sort of technology has evolved quite a bit and you know we now have interoperability between guest and host operating systems the ability to support you know things like dynamic memory and a variety of feature sets that are now enabled.
With, you know, hypervisor and they're kind of, they explosive use.
This is a kind of a niche hypervisor usage here and it. Plays into window subsystem for Linux in kind of 2 ways.
There are 2 kind of versions to do iterations of Windows subsystem for Linux.
The first would be the BSL or WSL. One is it's kind of now.
Named or referred to simply. You know it was the first and then WSL 2 and then something that I'll mention a little bit later which is in preview called WSLG.
There are 2 fundamental differences kind of between the, the WSL versions. I did make sense here.
So with WSL one. The first incarnation was more of a compatibility layer. It provided.
The Linux binaries that you were running were actually pico processes that was a very custom, there was a lot of performance.
That was lost translating system calls. You know from Linux to Windows. The, you know, file system interoperability.
It. Has it has improved performance compared to WSL 2. When it comes to file system access and, you know, so lots of small files.
I think source code. Depending on what your use cases, WSL may be better. Good news is they're both interoperable and interchangeable.
I can run a WSL 2 instance, alongside a WSL one instance. If you do not have WSL installed.
Typing WSL will give you information for how to start it. In this case, I do have it installed and I do have a default distribution set.
So typing WSL simply launches the launches me into my default instance. Yeah, I'll be able to try to figure out how to hide.
There we go. So. I am using Windows Terminal, which I will kind of talk about here in a little bit, but this is my tab terminal interface and hopefully I will catch too much flack for using Windows and Linux on the call.
I promise I'll change my ways by the next time. So I can just, you know, choose to open another tab and.
Spine another tab and this will drop me directly in my WSL instance. As you can see, I've got a Docker name in running.
Which is a neat functionality. Available to me now. But if I wanted to manipulate the WSL distributions, I can choose to list them.
This would be to show me ones that are on my local machine. If I were to pass another argument, which is OH or online, this shows me all of the available versions that I can choose to install from the internet.
This is not an exhaustive list. This is just the ones that we provide. There is the ability to say roll your own.
Do you have, you have the option to import, distribution. So if you wanted to kind of build something on your own and, distribute it as, you know, VHDX or VMK you can.
Lot of flexibility and portability with WSL. Before I dive into the USL 2, are there any questions so far?
I think we're ready to go. Go ahead, John.
Okay, cool, Okay, WSL 2 is kind of an evolution on one no longer are we leveraging the Pico processes and a kind of shim or interoperability layer that's doing translation.
Now WSL 2 and distributions installed with version 2 are actually leveraging a full, you know, very lightweight purpose built virtual machine.
These virtual machines run CBL or, our, Basically, Microsoft's distribution of Linux.
So we have a lot of control over it. And it's fairly custom built for this purpose. And I've got kind of a little diagram a little bit later that shows how some of the components are built.
But with WLC 2, it is actually running a full Linux kernel on Windows, blew me away when this came out, but, gives a lot better, compatibility with Native Linux commands, although we still retain the functionality of WSL one in that I can.
Run Windows binaries from within my WSL instance and vice versa, giving me a kind of a lot of interoperability.
Do I need to launch an elf minority to do something? No problem. I can do that, you know, from either Power or within my WSL terminal.
Really nice. The windows terminal being an actual you know, and the compliant terminal now also very nice.
A lot of it my method of operation prior to something like WSL would have been, you know, load up Hyper B.
Put a virtual machine into it. Install, you know, virtual box, load of virtual machine into, you know, now I have a much more lightweight methodology for doing that the WSL layer gives me that way to kind of live with a foot a little bit in between both worlds.
I, kept talking about when it was terminal a little bit, but it is, you know, open source, kind of a replacement for CMD.
Dot EXE with, you know, modern rasterization and rendering and font support and things like that.
The configurations all in JSON and whatnot. So you could have multiple WSL instances that you can, you know, choose to drive and dive into.
From here and, you know, my, you can see that I can kind of bring up Git bash.
All of this is configurable in JSON and very portable and that you can, you know, configure these individual.
Shells and the commands in order to invoke and things like that gives you a lot of flexibility and portability.
So I have in my path or my home directory that follows me around. I have a customization for my WSL instance such that each time it conflates.
I have a customization for my WSL instance such that if each time it, it complates with some of few, you know, aliases, things like that, you know, you like and how you configure your environment.
This gives me the ability to leverage something like. VS code, in, both worlds.
So, you know, launching it just from the task bar is going to open up code. In this case, I was last connected to my WSL.
So it's going to go ahead and, you know, re-establish that. SSH connection into the WSL instance.
My terminal including shell preference and you know customizations and things like that as you can see are present in the embedded terminal that's within.
BS code as well, looking at extensions. I can see that I have, I'm able to extend a lot of it extensions that I have installed on my main, you know, my Windows machine for development.
I can now extend many of them in to that environment as well and leverage their functionality. Being able to explore the devices file system, being able to connect to and manage containers within the Docker Damon.
I'm doing all of this. From via code in a graphical manner, but I'm, I'm able to interface with the commandment here.
Depending on your level of familiarity with Docker in Windows, you know. You may or may not know that you can run it in 2 modes.
You can either run it in a Windows container mode. Or you can run it in a Linux container mode.
So if for some reason you need to run both with only the Docker D and you cannot do that, but.
With something like a WSL instance running the Dr. Damon for you, you could. Have your window, your Docker desktop configured to run Windows.
Containers and you could run and manage, Linux containers in your WSL host for example.
Just a way that you could, you know, say have both of them operating simultaneously. This also gives me the ability to, you know, if I'm in, in my home directory, I could or whatever directory where I store code.
I can from within my environment here launch code it will take me you know directly into the directory in which I was so I could say you know manipulate files or leverage you know commands that are you know not necessarily available you know in Windows file systems natively I can use them to manipulate files with in my WSL instance without having to, you know, FAF for the differences in say, you know, CRLF
and LF and differences like that, some of the kind of little stumbling blocks that one might bump into and you know attempting to leverage both environment simultaneously.
In the plugin that I'm leveraging to connect to the WSL instance also is you're also capable of, connecting over things like SSH and tunneling and things like that.
It's the, the plugin works for both cases so that I could. Say connect to a host that's not even running on my local machine.
So the functionality does exist all the kind of outside the scope of this and start to say on, WSL.
Very, you know, kind of featureable in between the 2 of them. The the functionality with.
Vs code is. It's possible still to do, but just not as smooth as running a WSL 2 version of them.
From the command line, I can, you know, choose to, if I were to issue the set version, I can, you know, choose to, if I were to issue the set version command, I can change.
It my Debian distro to instead run version One, which would be the shim or pico process layer.
I currently have it set to 2, so that means it's running in the full, hypervisor with, you know, custom, Mariner base Linux running behind it.
So. That would be WSL and WSL 2. And now something I'm super excited about that, is in preview, but is open source.
So you can go install it, whatever. I didn't want to. Just clone the entirety of their.
. So I went ahead and linked it in here. If you want to go check it out, there's the GitHub tag.
But here's the diagram that I had kind of mentioned earlier. And a little bit of a peek into how the CBL.
Linux to VM works. So inside of this VM, it is hosting sockets for either Wayland or X server, applications and, you know, pulls audio, whatever the audio framework, we're supporting, pulse currently and then translates via free RDP.
And a plugin to give you kind of native window manager support for graphical applications within Linux so if I were to run the the GNU or the most glorious image editing application on I can run a graphical Linux application and run it on my Windows desktop.
I adjusted the scale for the sake of sharing and it is now. Far too large. Not for you guys to see, but hopefully recognize, and you know, this is a Linux application that I'm running, you know, with my native window manager that I'm running, you know, with my native window manager, inside.
It's a window. So pretty, pretty slick, you know, with my native window manager, inside, inside windows.
So pretty, slick, pretty neat little, you know, kind of feature addition. Say I'm a web developer, you know, nothing would be stopping me from testing, compatibility for my application.
With a Linux version of Chrome or a Linux version of Firefox or what have you. Now I can run them natively on my Windows machine and still see them all.
So really neat, feature that's coming out there that you, could affect this. Before by installing an X server in Windows and doing a boatload of configuration on the Linux side to define the socket and port for, your X Windows device and you could get this working cobbled together.
But now it's as easy as going to this GitHub and kind of following their their guide here but you know suffice to say that if you are already running a version 2 distro that's moderately updated, you will already be able to leverage this functionality right out of the gate.
So coming in and installing any one of these other. Graphical applications you you can pretty much start playing with this right away, which is really slick.
I went ahead and kind of collected a list of a few more kind of advanced, things, something that is of interest as of late is obviously GPU acceleration and the ability to partition a virtual GPU device so that you could leverage it in with other containers or in a guest operating system and that is also supported in WSL.
Simple to effect. You really the most important thing is having. Drivers or the.
In videos. You know, binary bundle installed on the window side and then it requires a little bit of configuration.
A package that you must install inside of your WSL guest and that will give you the ability to address those host PCI devices inside of WSL.
So that you can call them with, you know, PIE towards TensorFlow, whatever your workflow is for a model training or machine learning or maybe you're just trying to stand up and run.
You know, some sort of, stable diffusion graphics generation project or whatnot, you could say clone and run analytics, stable the fusion repo in WSL and and have hardware, you know, functionality available to you.
So that was kind of the, I have exhausted the. Slides here and I am free to talk about anything else you guys have any questions on WSL or WSL 2.
Yeah, hey, thanks. I have about 13 questions. I'll keep you busy. Don't worry.
Sweet? Let's have them.
I'm just kidding. So, so I was confused about WSLG, cause you said it's in preview, but I'm pretty sure on my Windows 11 machines it just works.
Yeah, correct.
I guess that means that at some point I ran WS. Dash update and forgot about it.
Potentially, especially if you do the dashash update with what is it, Download, I think.
Yeah.
There's an arc that you can pass to it. Yeah, and this will pull it directly from the web import instead of whatever is the air quote, stable version from from the window store so that you may have done something along those lines.
It's becoming more prevalent. The project is, you know, getting up there 2, 2 years prelink peep or something like this.
So yeah, they, we're finding it, you know, in the wild more.
I, when I went to actually who went to ensure that I had this working before before hopping on the call and I actually just on a whim dropped you know obviously the gim come in and then it worked so yeah I imagine you you may have had the same thing happened that I did
Yeah, I appreciate whoever added the, the web download thing there. I had to use that.
Literally today I had to use that because. My work may or may not block the window store and so I had to use that one to to get what I needed there.
Yeah. Yeah. Life will find a way.
But, okay, so you mentioned, migrating your dot files around. And I'm just, you know, this is something that I've been.
Try and get a handle on for a while now. I've done it a bunch of different ways, but it's like I have dot files in Windows and in WSL and sometimes to share, sometimes they're different.
But I definitely want all of them synced across all my machines. And so I was wondering if you had, you mentioned that you might have a strategy for that.
Or
Yeah, so on this being my work environment, I don't have some of my custom scripts in there what I use for my personal is a get repo and in my RC I just have it check one of the MD five's on the file if it's the same then nothing's changed otherwise it'll go do a git pull and that I have found is the easiest most portable way for to
save my customizations in a private, get repo. Oh, for work, I just leverage Onedrive and I use folder redirection to map my home folders into where one drive is picking them up.
Yeah, so I've tried that too. And what I've noticed is for one, like for some reason, doing SIM links on Windows is very hard.
Yeah
Yes
Well, it's very hard because apparently you need administrator. Privileges a lot of times or I don't really understand that but but that's what I do too.
I have a get repo and then I SIM link. If I have administrator privileges, I SIM link to.
What is?
To wherever they need to go. But it's also a little bit tricky because on Windows, like when you install the Windows Terminal, for example.
So I thought.
Yes.
It puts it in like a very weird directory, right? Like the directories like It's got some like, I don't know, hash or something in the path and it's like.
It's because it's a store app, whatever that type of. I'm. I'm part of sales and Microsoft, not the broader team, unfortunately, so I don't get a lot of.
Play or push over there but yeah that's it's I'm not a huge fan of Windows store packaging, but it's because it's a Windows store package.
Okay.
You can They have a GitHub and you can go grab the MSIs off they get up there's a couple of different file from source if you want to but you can grab them off for GitHub and maybe it'll be a little more, you know, normal insulation path.
Okay, you know another thing I've done and I don't know if you know about this but on a bunch of there's this program I've done and I don't know if you know about this but on a bunch of there's this program called, have you heard
YATM, yeah Okay. Okay. Okay.
. Yeah, it's like yet another dot file manager or something And basically I use that to write a shell script.
So basically I would have a Git repo with like my Linux and Windows. Files. And then I would run the shell script to copy.
The Windows stop files into the correct location on Windows from Linux. And that, yeah, that was pretty slick for a while.
Amazing.
I really wish you could kinda, from WSL to Windows. But that doesn't seem to.
Work at all unless you know a half that I'm not aware of.
There's some functionality. I don't know why my terminals giving me so much grief.
I make link is definitely a command. There's, there is an, you can pass to make a hard link, which I think works.
Better than a soft link. For
You like works inside of WSL though to or to inside the WSL? That'd be interesting.
It is there is interoper I mean you could just mount You couldn't you mount the directory because it mounts.
Doesn't it? I don't know how about this drive. Gets mounted.
Yeah, yeah, yeah.
Or maybe you could adjust the amount for your own purpose.
Interesting. Yeah, that's a good tip. Yeah. Good.
Cool.
I just exported the presentation and I'll make sure whomever and needs to gets a copy of nothing fancy.
Tip I totally use the large language model to make it for me. I can't. I can't demonstrate that, for say, but come on down to the technology center, in St.
Louis, I'd be happy to give you a show there.
So one thing that I've always like tried to find the use for was you know how you can like run a Powershell command and then pipe it into WSL and then like do some more.
That sounds really cool, but I've never been able to find like a practical use for it. You know, have, have, have you, found something like that.
Okay.
I agree with you that I have not yet run into a time in which I am, you know, I need the output needs to come from a Windows land environment.
I know the functionality exists, but it's not one that I find myself a heavy user of.
Alright, last question. I'll leave you alone. I promise. But is there so you notice that limitation where If the files are on the Windows partition and you try to access them.
From Linux, right? Especially if like a node modules, right? Basically, you're done, right?
Oh yeah.
You're up a creek. Is that just like a for everything or do you do you have any insight like is there actually work being done fix that or is there actually work being done to fix that?
Is there actually work being done to fix that? Or is that just like, that's how it is?
And that's how it's going to say.
I would say maybe try a version one, distro. Have you, have you tried that?
All of the guidance that we have is that W, if your use case involves interoperability on the FS, especially between like NTFS.
And you know any normal file system then they say that WSL is supposed to be the version for you try I mean one tried WSL one and you should be able to set Oh, you know, an existing distro.
And then you do like a VSL like set version, I think, and you can.
2. There we go. And so now it's going to change my Debian disc to version one, which is, the supposedly it has better interoperability with the file system, maybe give it a shout and see.
No worries.
Yeah, I'll try that. Oh, and I lied before I have one more question. So, so once, once you saw that GSL, like I noticed that the virtual box performance.
I haven't tried it in like a couple of months, but it seems to me like virtual box performance when WSL is pretty terrible.
Is there something that I'm not doing right there or is it Anything you know about that?
So there's, there's a couple of different backends like I don't know if it's gonna let me.
I came in with the command to status.
There is a command that gives a much more verbose bit of information. About oh system no
Sorry, I, I'm looking for what the command is, but it will. Tell me what the back end is.
And so there's a couple of different, you can either do the virtual box back end or there is a.
It's under one of those features and you can do a hypervis back in as well.
But what I think what you're running into is that Basically once a hypervisor is Operating it the fact that you can run another hypervisor like Virtualbox.
That is, I think I, I would be happy that I could at least run it because normally it would complain.
But yeah, there's a there's a little bit of a collision when you try and run multiple hypervisors simultaneously.
And that's with V 2 WSL, that's what's happening is that there's a hypervisor running.
And that's why it's giving, or bump it into a Vmware.
That's cool. I didn't know you could change that back in. I'm gonna look into that.
Cool.
Yeah, I need, sorry that I don't have it right in front of me, but there's definitely functionality to manipulate the back end of it.
Nice. Awesome.
But seems to have lost whatever that I use to stop sharing. If someone could kick me off the sharing, I'd appreciate it.
Okay, I can't, able to. Yeah, just gotta kill zoom and then.
And I'll come back.
And he is sleeping. Wake up, Stan.
I'm awake, I'm just trying to find a button button button who's got the button.
I can't find the button. There was a someone talking thing over here for a minute, but now that's gone.
Yeah, see here.
There we go. Thank you, sir. I was afraid to kill Zoom. I would kick me off.
No. Well, that's all quite interesting.
It's time for questions from anybody else.
Go ahead.
I've got a question. Can you talk about the disk drives? Can you mount a an external drive?
You know, that's a pure Linux. And, and could you even mount a, A, I'm at.
Something from. You know, iOS.
You can absolutely mount, other file systems. You would do it with the WSL command in your Powershell or Windows environment and you would pass the dash dash map command and that would allow you to mount other file systems.
There's a variety of kind of shim layers there. But the EXT 4, you know, would be one that's very well supported.
Now other file systems, I can't I can't say that. I don't know without having to look it up.
And is the when you create your own, just underneath WSO. Is that basically a disk drive is encoded in a file?
Yeah, it's a it'll be a container like file system like kind of like a dot IMG, but I believe it's a dot VDMK, which is a.
Not, proprietary, but not as open as say like the IMG format.
Okay.
You can mount them, I believe, in Windows, 11, natively. You might even be able to just right-click amount them.
So it's something that is perable with, you know, native tools.
Okay.
Awesome. Any other questions for me?
Yeah, so what do you think about interrupt with Windows? Like I know VS code is like a hundred percent on point, right?
But like if I have Emacs, cause the first part of this conversation was about Emacs.
If I have Emacs installed in WSL too. What if I wanna like open? Like right click on a file in Explorer and open it in the Emacs and WSL too.
You think that's possible someday?
I think it's possible now you might have to look into sending You'd have to kind of make your own like send 2 shortcut maybe that might be an easy way or you know some sort of like right click handler integration.
But I think that, you know, a WSL. With a command, you know, and then maybe your, be in the file that could be potential even today with a little bit of, you know.
Binging or googling.
Nice. What about snapping? Wslg, Windows, like with Windows key and then the error keys.
I did not it definitely seems like that's a little, a flimsy there. I was trying to just play with Gimp a little bit earlier and dragging and resizing the window was a little chunky so that I don't know how well that would work.
Yeah, the snapping is my favorite feature of was that 22 wage one or something that was amazing all the time.
Yeah, I. What, what's your favorite Windows terminal feature?
Well, actually being ANZ compliant and you know having proper column send you know such that text doesn't look horrible when try, you know, SSH.
Being to, you know, Linux or Unix environments and being able to copy and paste and view output in a way that's not all garbled up and terrible.
Nice. My favorite is the pains. I really love doing split pains and I love the like I saw some docs on Microsoft sites where you can actually open the new pane and actually knows the directory that your previous pain was in.
So it'll open the same, directory. So good.
Yeah, you can define kind of, you know, pre slice things. It's all the configs and JSON.
It's incredible. That is another thing that I like about it is, you know, the portability and extensibility, so the renders really slick too that I love X term and being able to have a transparent kind of, so I can see my desktop there, which I know is kind of a silly thing, but, being able to do that now, the compositing in the window manager of, you
know, that's in Windows and, having, you know, like nice transparency and things like that, fluid resizing, it's really great.
Oh yeah. Yeah, but didn't, I think I've seen like on their GitHub some issues where they're like, well, we'd like to implement that.
Oh, we can't because everything we need to do needs to be like backwards compatible with con host.
Is that true, do you think?
Interesting. I don't know about them.
Okay, maybe I misread that because I
Oh, you may have read more than I. I, maybe I didn't. So I work for the Microsoft Technology Center in St.
Louis and I'm an architect that I work with some Microsoft's clients to kind of solve their problems of code.
And I primarily am in the I'm what we call a core architect. So I focus on base.
Infra like wide and local area networking security audit governance things like that you know for your cloud environment I'm a consulate developer on my own but I don't do it for for business.
Yeah.
It's too frustrating for me. So I, yeah, all my hacking and things like that is generally for personal.
Personal time.
Cool.
I hear dinner calling my name, so I really appreciate you guys time and attention. And I am, that's all that I had for this evening.
Well, John, I really appreciate. The time you've spent with us our entire club does. I so unfortunately had a couple of difficulties at the beginning.
And sorry it took so long to get to you, but we really appreciate what you've done for us here and now we have a better idea of the Linux.
Subsystem 2.
And just a little preview, I believe I'm on the calendar in roughly a month from now to come back and talk about Windows subsystem for Android.
Right.
Yes.
So it'll be kind of similar, but I think it's also neat. And I may actually be in New York and another one of our NTC.
So I'll, I'll do it live from the center next.
Okay. I'd like to point out that this meeting's been recorded. We'll have it.
We'll have it on the website in a day or 2. And if you would send your copy of your slides to editor@slube.org.
Yes, sir, I will do.
Outstanding. Have a good evening.
I can include the slides on our archives. Thank you. You too.
Any comments? Apparently John has left the room. Okay. Any major discussions about anything?
No, but I have to leave as well, everybody. Thank you for your time and the presentation.
That's great. You're welcome to come to additional meetings. They'll be posted on, on our mailing list, on our web page.
There'll be links to the instructions on how to get in. References on.com although I don't particularly like meetup.
Dot com, but we'll try and post up there also. Okay, in that case, this has been the St.
Louis. Unix users group meeting for Wednesday, September thirteenth. I'm gonna go ahead and shut off the recording.
And