Episode: 2672 Title: HPR2672: Porteus Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr2672/hpr2672.mp3 Transcribed: 2025-10-19 07:19:06 --- This is HPR Episode 2672 entitled Portus. It is hosted by Klaatu and is about 58 minutes long and carrying a clean flag. The summary is installing Portus and the cool thing you can do with some live installation. This episode of HPR is brought to you by archive.org. Support Universal Access to All Knowledge by heading over to archive.org forward slash donate. Support Universal Access to All Knowledge.org Support Universal Access to All Knowledge.org Support Universal Access to All Knowledge.org Support Universal Access to All Knowledge.org Support Universal Access to All Knowledge.org Hacker Public Radio. I'm Klaatu and I'm the host today. I've been playing around with Portus, so Portus version 4.0. It's a cool portable distro based on slackware. It's designed for USB thumb drives and live CDs. I started playing around with it after a slacks which I covered here on Hacker Public Radio back in Episode 55 switched its base from slackware to Debian. Now I don't have a problem with Debian but it's not my first choice and if I'm designing a live bootable environment for myself then I may as well go with what I want which is slackware. I'm a pretty heavy user of these little live distros back when I was playing around with slacks. It became really a daily driver at some points. Whether it was because I was traveling at the time and felt better if I was running off of a live temporary environment because you can copy your whole OS to your to just ran and run off of that. Or whether it was just simply because I didn't have a computer, a normal computer at the time that I could reliably have. So I preferred to have the OS that I depended on on a thumb drive and that way I could just reboot whatever computer I happened to be around. Or whether it was for a job where I needed a rescue environment. Lots of different reasons but I've been a pretty heavy user of the live thumb drive distro and up until recently that has been slacks. So Portius is the new slacks and I wanted to talk about it here because there are a few little things about using it and installing it that aren't necessarily made obvious on Portius on the Portius website or in their documentation. So first of all getting Portius is pretty easy. You go to portius.org, it's P-O-R-T-E-U-S, portius.org, go to the download link. They have two versions. There's the kiosk edition and the desktop edition. You want the desktop edition unless you are creating some kind of kiosk. You can download the desktop edition in two different varieties, a 32-bit and a 64-bit. At this point I think it's pretty safe to say that all with air quotes, all modern computers are 64-bit. So it doesn't seem like there's really that much of a point in getting the 32-bit version of Portius, right? Well, actually I've found that not to be quite as true as you might think. Or maybe you don't think I'm assuming that you're thinking that. But in my experience, on a day-to-day basis in normal real life, yeah, every computer I encounter is 64-bit. And we all say that to ourselves because we don't think about it when we're looking at computers. We just assume, yeah, that's 64-bit, not a big deal. Well, funny how many 32-bit computers you will run into if you have bravely grabbed your thumb drive with Portius on it and going on a road trip thinking I will just rely on the computer. I will rely on the computers that I find at hotels and things to do my computing on. You'll be amazed. You'll find 32-bit computers all over the place. Or if you're rescuing computers, you know, if you've got it on your keychain just as a rescue drive. Someone brings you a computer and you think not a problem. This is surely a 64-bit. It's 2018 or whatever year it is when you're listening to this episode. It's got to be 64-bit. It turns out, yeah, it's 32-bit. So in other words, every time I have made the assumption that we're well into the 64-bit era of computing, I come across a 32-bit computer. So just bear that in mind when making your choice. My choice is 32-bit. That's what I download, that's what I install, and it works quite well for me. So you download the Portius and possibly surprising is the fact that the thing that you download isn't ISO. It's an ISO file. I say that might be somewhat surprising because I think a lot of times, or at least my impression, that a lot of times these live distros deliver themselves as a zip file, which you then unzip onto a thumb drive. Or something like that. Well, this is an ISO, and there's one official way to install Portius onto a thumb drive. The official way that Portius.org declares you should do this is to burn the ISO onto a disk, like a CD, or a DVD ROM, and or CDR or DVDR. And then boot from that CDR or DVDR, and then plug in a thumb drive after you've booted, plug in the thumb drive that you want to install Portius onto, and use their built-in installer application to install Portius. So in other words, you need to install Portius from Portius. That's a little bit, that's maybe over complex for me. I feel like that, I feel like we shouldn't have to use an optical media to install the thing to a thumb drive. That seems a little bit backwards. So I've got two ways to do this that don't involve burning Portius to a physical disk. Now, one of them is that you can manually copy the files from the ISO. You can mount the ISO as a loop device, copy it to a thumb drive, and then run the little installation script manually that you find after you copy the stuff over. There's a caveat here, and it's an important one, and one that I found after a much trial and error. So the caveat is that this won't always work, depending on where you're doing this from, because I'm assuming I haven't actually looked, I diagnosed this from the symptoms rather than actually reading the install script, but I am assuming that there are some commands in there that aren't necessarily in the same place on all the distros. So if you do the manual install, you kind of have to do it from either Portius, which that's chicken and the egg problem, or you could do it from Slackware, which is what I do naturally. In fact, that's how I encountered this problem. It was always working. Every time I would install Portius on Slackware, it would work like a charm. And then I would do it from my work laptop running Fedora, and it would always fail. And that's how I kind of picked up on the fact that you can't necessarily count that your distribution is going to have the commands that the install script wants to see or expects to see in a certain place. So one more caveat about that, about manually copying. If you read the instructions, this manual copy work around is a semi-official Portius thing. I mean, they mention that it's possible, but in their docs, they mention very specifically by name to copy two directories from the loop ISO mount. So if you don't know how to mount an ISO loop, it's just mount dash dash options, I think options plural, or dash 0 for a short loop, and then slash dev slash or rather slash path to your ISO file, your Portius ISO file, and then slash someplace on your system. So slash MNT slash Portius, for instance, provided that directory exists, or it could be slash Portius, or it could be any, any, any place on your location, on your system. So it tells you very specifically to copy two folders from that mounted ISO to your thumb drive. Turns out times have changed since those docs have been written, and while it sounds like it's telling you very explicitly copy these two folders, it's actually trying to say copy everything. Because there are, there's more than just the two folders that it claims are going to be present. So what I did was just an rsync dash AV slash MNT slash loop space slash MNT slash whatever it is, thumb drive. So rsync it from the ISO to the from from the mounted ISO to the mounted thumb drive works. Now doing it this way also requires obviously you know a little bit about, well, mounting an ISO file and making a partition on a thumb drive and giving it a file system and all those other things. So it's not super hard, but if you're kind of new to Linux, it might not be something that you know off the top of your head, so you might have to do a little bit of research. And I could go through all the commands, but it's all the, it's all over the place online. It's not a difficult process that you do have to create the steps are you want to have a thumb drive available that is going to be used exclusively for this bootable OS. So in other words, it's going to be erased. So make sure that it's a thumb drive that is clear of of data that you care about. You're going to want to make it one partition, probably that encompasses the whole drive. You could play around with other other schemas, but that's what I've done. And then on that one partition, you want to create a file system, and I think it probably makes sense to just use the EXT4 file system. You could try it with other ones. The only one I can vouch for is EXT4. Now doing all of this from Windows is a completely different story. It is supported on Portias, but I don't know anything about it because I don't have a system to test it on. Once you've got the destination drive prepared, then you simply mount that, you mount the ISO, and then as I say, you are seeing the files from the ISO to the thumb drive that you prepared. And then you go into that thumb drive and run the Portias installer for Linux.com file, which is actually it's a make self shell script. So it's a compressed archive in a disguised as a shell script. You run that and it copies some further files into some different places, and it's bootable, then you can reboot. And it may take a while. It kind of depends on the size of the thumb drive and the speed of your thumb drive and so on. So that's one way to do it without burning everything to a CD. The other way that I had to do on my Fedora work laptop was to fire up a virtual machine booting the off of the Portias ISO. And then from within the virtual machine, plug in a USB thumb drive, make sure that you have USB redirection turned on, and then install Portias using the Portias install. I think it's a slash opt slash Portias dash script slash P install and I think there's a gooey option for it in the applications. And it's a gooey application. You just tell it that's the thumb drive I want to install everything on to and you click next and it does all the all the stuff for you. But again, the thumb drive needs to be prepared for it. So you need to have made a partition and a file system and then you plug it in and do the install really the official way. The only difference there is that instead of burning a CD, you're just kind of doing it in a temporary virtual machine. You don't even have to assign storage space for it. You can just boot it up off of the ISO as a live virtual machine environment, install to a thumb drive and then you're good to go. Now the catch there again is that you have to have USB redirection activated, which on some virtual machines is easier to institute than others. So I tried to do it with just raw Qemoo and getting the USB redirection to work correctly on that took more than one attempt. So then I just fired up vert manager, vert managers and open source virtual machine environment based on Qemoo and KVM. It ships on, well, it ships, it's by red hat as far as I know. So it's, I don't know, I've always associated with Fedora, but I don't think it actually ships with Fedora. But anyway, it's super easy to find its vert-manager. Okay, so that's how to install Portius. How to boot to Portius. booting to anything different than other than your default hard drive is always a process of trial and error. There are lots of articles about it on lots of different Linux sites, so I'm not going to be labored here. It typically involves pressing some button right after turning your computer on. The place that I worked used to call them snag keys. I don't know if that's the official name, but it makes sense. So you hit some snag key, and it's different on all different models of computers. It's pretty much all the same on Apple Macintosh computers because that's all made by one company. It's the option key, so that's pretty simple. But on other computers, depending on the vendor, and even just kind of depending on the version of the firmware on the motherboard, it could be different. But it usually tells you at the beginning, when you first boot it, you might have to look for this message. If you blink, you could miss it, but usually it'll tell you to hit the delete key, or F2, or F12, or F8. I'm telling you, it could be practically anything. I've seen it all over the map, but when you press that, you get into your BIOS or your UEFI screen, which is basically you talking straight to the motherboard in your computer. In that menu, or in a series of menus that exist on a little chip on your motherboard, you can set what the boot order or the boot priority is for your computer, such that when you turn it on, it doesn't necessarily look. To the hard drive to boot, maybe it's looking somewhere else, maybe it looks at the CD first, or maybe it looks at a USB hard drive first. You can configure it that way, or there may be an option to not have to configure it permanently, and there might be a boot menu that's available. Sometimes that's, again, it'll tell you if it is available, it'll tell you somewhere, either right after you turn your computer on, or somewhere else, within these menus, it'll tell you that there's a boot menu accessible by pressing some other F key, maybe F9, or F2, or whatever. So if you press that, sometimes you'll get some kind of option to change what device you boot from. And then finally, there's the all-important caveat about Secure Boot. It's not always called Secure Boot, it's a thing that Microsoft implemented on, I guess they didn't implement it, but they mandated it onto Motherboards, stating that a computer may not be able to boot. A computer will refuse to boot if the OS on the hard drive that it is trying to boot is any different than really what the BIOS expects. So you might have to turn that off, or sometimes you might have to turn the option to ignore that on. Again, I've seen it sort of all over the map, the wording of what exactly you're enabling and disabling, so read carefully, but you probably want that turned off so that you can boot into other things other than the one OS mandated by Microsoft and by the vendor of your computer. And that's, again, not always called Secure Boot, sometimes it's called, I don't know, I've seen it called lots of different things, but it boils down to Secure Boot. It could also, you may, you know, Portius is EFI enabled, so you shouldn't have to change anything about the way the motherboard sees the devices, the bootable devices. I like to set my motherboards into legacy mode anyway, because I just feel like we're not into legacy mode, but into both, really, it'll scan for both UEFI and what it calls legacy devices. So that brings the greatest amount of flexibility, and that's what I like, but if you're familiar with UEFI, then you may, you might be comfortable just leaving it in UEFI mode, if that's what it's in, and then Portius should be recognized as a EFI bootable device, but those are all things to look out for. As I said, lots of places online talk about that in detail, so that's all I will say, and it's really all I can say, because all the computers are different, so you'll have to, you'll have to kind of explore that for yourself if you haven't yet. It's a good thing to, to try out though. So there are different boot modes for Portius, lots of different boot modes, and then there are boot options that you can put, that you can append to those boot modes. I'm just going to kind of quickly go over the primary boot modes. The first and default is the graphical boot mode. This is Portius, I guess, as you would expect it to behave maybe, or as you would expect a Linux distribution to behave really, it's a very natural feeling experience that it boots into a graphical desktop. Portius has, you'll see this when you're downloading Portius, it has seven different ones to choose from. Whichever one you choose, once you boot into Portius, once you've got your desktop up in the graphical mode, you can use it like a normal computer. I'll talk a little bit about some of the details of using Portius, but in general it'll just be your normal standard desktop computer. Anything that you, for instance, save to your home directory is, you won't realize it, but it's being saved to some directory called Changes. I think it's a slash, mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm-mm. These files, whatever you've done, wherever you may have made a change, those files are then applied to Portius the next time you boot. So graphical, in other words, is a persistent mode. Any data that you save to your environment will be there the next time that you boot into a graphical mode. Another option is called Always Fresh, and it does what it sounds like. It boots Portius as if though it was a fresh install of Portius. As if you've never booted it before. There are some exceptions to that. So when you boot Always Fresh, well let's say you booted at one point into graphical mode, the persistent mode. And you'd created a file called Fu in your home directory, and maybe you'd even installed something to Portius as a proper install, like you've actually installed an application to Portius. More on this all in a moment. But if you've done that, then you've made changes to the file system. In Always Fresh mode, those changes will not be present. Fu won't be in your home directory, and whatever you did installed, let's say it was the Jove text editor, if you'd installed that to Portius, it won't be there. Now, there's another method of installation. Again, I'll get into this in more detail in a moment, but the other method of installing things is to create modules and then to load those into Portius. This is a lot like, well this is exactly the same as what Slack's used to do. Now those modules will be available. They won't be loaded, but they'll be something that you can access from Always Fresh mode. So in other words, you can boot to an Always Fresh mode of Portius, such that the home directory of the user is completely clean. The root file system is completely clean as if though it's never been booted before, and then load in applications that you know that you need for the upcoming event or whatever, and they'll all be there. It's a really, really useful way of doing things. I used to use this a lot on Slack, so it wasn't called Always Fresh with a little bit different. But I would boot into a fresh version of Slack that had never been, or at least the way that I was booting was as if though it had never been booted before, and then I would insert a thumb drive into the computer and load all the modules from that thumb drive into that install. And then the students in a class that was being taught for the semester or whatever would come in and use the computers. And no matter what they did, the next time they came in, it was a completely clean, fresh slate. But again, with all those modules already loaded, so all the applications that they assumed they would have access to were still there, they had access to them. It's just that the data itself, like the OS itself, was never touched. That was a great way to... All their work was saved to share drives or to thumb drives or whatever, depending on what kind of work it was. But the OS itself was always a clean slate. It was quite, quite useful. Another way to do it is to load or to choose the Copy to Ram option. Now this is a little bit different, I guess, or maybe it's actually the same. I feel like it's a little bit different from slacks, the way that slacks used to implement it, but maybe I could be getting confused. With slacks, there was a lot of data that were halfway through my time using slacks in a very serious way. About halfway through, I switched to having all of my personal data in my life on a thumb drive. It's a 64 gig thumb drive, and that's where I put all my stuff. So halfway through using slacks, I stopped saving stuff to slacks anyway, because everything that I was generating was going on to this big pseudo home USB drive. So I sometimes get confused in my mind as to what's a function of slacks versus what's a function of how I manage my own data. But anyway, Copy to Ram is the same as always fresh, so it reads nothing from disk. It does not load modules automatically, and it certainly won't save any of your data that you create. Except with Copy to Ram, as the name suggests, everything's running off of Ram. You can unplug the thumb drive and keep using your computer. It's really handy that that's usually actually what I did on slacks just because it's it is rarely convenient to have a thumb drive sticking out of your computer. Although having said that, my home drive is always in whatever computer I'm using, so I guess it's not that inconvenient. But yeah, Copy to Ram is fresh. Although you know what I will say, one thing about Copy to Ram, really useful. Like if you're at a hotel or something and you're using a public computer and you've rebooted it and you've booted into slacks or in this case, Portuguese, the likelihood of you getting up after you're done and walking away for getting your thumb drive in the computer is very, very likely. So just remove that possibility from happening and just copy everything to Ram, take your thumb drive, do your work, and then walk away. So that's the different booting options. Well, there's also a text mode, so if you don't need the graphical environment, there's a text mode. It's basically the same as graphical except without the graphics, but in terms of it being a permanent, you know, the data being permanent, that's that's the same in text mode. Okay, so how to use Portuguese? Well, I mean, Portias is just it's it's Slackware Linux with whatever desktop you want. So I've got KDE mostly out of habit because Slackware ships with KDE. But there are others, there's Cinnamon and Mates and XFCE and OpenBox and LXDE and LXQT. So you've got seven to choose from. The size of the ISO is basically the same no matter what desktop. I mean, unless you're really budgeting bits, it's basically the same. It's like it clocks in at around 300 megabytes, call it 300. It's less in some cases, but call it 300. So if you're using a computer or if you're using if you're used to using Linux, certainly then the basic functions of portias will be pretty obvious. What may be less obvious is how to install more applications and there are a couple of different ways to do this. And there's a specific tool that you can use to make it all happen and it's all new. So here it goes. So the tool used on Portias to install new stuff is called USM, which is the unified Slackware manager. That doesn't make really sense. Unified software manager maybe? I don't know. USM, it stands for something and there's a graphical version of it or a command line version of it. I tend to default to the command line version. I did launch the GUI version once. I saw that it existed and I searched for something and it gave me your result. So I mean, I think I even installed something with it. So I mean, it works. It's a really nice thing to have available. But I'm going to just assume that you're okay with using the command USM instead. So the first thing that you have to do with USM is an update. So USM dash U or USM space dash U space all to update all of the repositories. USM looks to a couple of different things. It looks for it looks to Slackware repositories. There aren't that many out there. There's the Slackware mirror network itself and then there are some some some stashes of of Slackware packages put up by other people and they've all kind of agreed on a structure, a Slackware repository structure with certain files there. And so if USM is aware of it and if it is a Slackware repository, then USM probably has it listed. You could add your own, but there are about, I don't know, six or seven by default. Those are alien from alien Bob air cameras. There's Slack only, which is a binary mirror essentially of Slack builds.org. There, well, there are a couple. You don't care which ones. There are a couple. And then it also does look at Slack builds.org, which is just a collection of Slack build scripts that you can leverage to install stuff. So once you've updated all of the repositories, then you can start searching for a package that you might want to install. So for instance, USM dash K, K for what keyword actually it's a keyword search. You can also do a USM dash S for some other kind of search. I think a package name search or something, but I tend to use dash K because it feels a little bit fuzzier. So USM dash K food will give you the results of any package with food in its name or description or whatever. Now to install food, you use the USM and this is where it gets a little bit tricky. So there's USM dash G for get I think USM dash G food tells USM that you want it to get the food package and to convert it to a portious package file or rather a portious module. It's not super hard and USM is pretty capable. So the first thing that will happen is that USM will find what repositories contain a package called food. If more than one repository contains a package called food, it presents to you the different ones where food is available and you can choose type in one, two, or three for whichever version you want. Once you do that, then USM processes any dependencies required for food. And I know that sounds very advanced, not very slackware like at all. And there's a caveat here. There's a little bit of a thing about this that you need to be aware of. So the USM, so the repositories generally, I think without exception, the repositories for slackware assume that your slackware install is a full slackware install. And that's kind of our way. And by our, I mean, the slackware users out there, this kind of our way of standardizing on a foundation on a base system. So when we say that we're going to install or create a slackware, a slackware package or a build script, we assume that all dependencies that are already within slackware that ship on the slackware disk. We assume that those dependencies are met. We do not make allowance for the possibility that you have not installed the full slackware stack. Because then you're just, you're, you're listing every single requirement. And that seems silly since we're all using slackware, you're slackware among friends. So we'll just assume that yes, you have this version of G of libc. We'll assume that you have this random library G lib dash network. And, and then we'll just list dependencies that aren't necessarily or that aren't in slackware by default. But are required to run FU. So USM does not account for that. I mean, it knows, you know, it knows what is not installed that would be installed on slackware, but it does not account for those packages. So if you're installing FU and hey, surprise, it requires G lib dash networking, which normally is already in slackware, it's not going to warn you about that. And it will install the thing that you've told it to install quite happily. But when you try to run it, it will not work. So that is something very important to be aware of. You kind of want to maybe possibly, especially if it's a complex serve program, you might want to look at what that, what that, what the maintainer of that application says they require. And a really easy way to do that is just to look at what they, you know, in their install instructions when they say how to install on Linux, they'll tell you it'll be for, it'll be written for either Ubuntu or Fedora, but it will tell you what, what packages are required. And from that, you can diagnose what you're missing, you know, if it says when you're running it on Fedora, if you're installing it on Fedora, you need to install G lib dash networking, then you'll know when you are running the thing and it fails to launch, you can think, oh, you know what? I wonder if G lib networking is a saw because it says right there that it, that it should be, and then you can check. So, I mean, that's what I do anyway. There might be better ways to do that. I guess you could do fancy things like LDD slash path to executable and see, but sometimes that doesn't tell you everything. I mean, it tells you everything, but it's almost too granular sometimes because it'll tell you exactly what libraries, not found or whatever. And then you have to find what package contains that. So sometimes it's just easier to look at what the instructions for Ubuntu or Fedora have said that they require. And then see if that's installed in your system. Okay. So anyway, USM accounts for dependencies listed by the repositories themselves and repositories themselves do not account for things that, that ought to be in Slackware already. Once it processes, so as it checks for dependencies, it, again, it checks all repositories for something that will satisfy that dependency. And if there are, there is more than one, then it alerts you. And, and you can choose which one you want to draw that dependency from. Once it resolves all the dependencies, it pauses and asks you if you would like to install the application. Now this is really interesting because on Slack's everything was a module. Now, Portius lets you decide whether you want to run something as a module or you want to integrate it as a permanent change on your system. There's one drawback from this. If you'll recall the boot methods that I discussed, graphical is the one that is permanent and treats your system as a permanently evolving system. Always fresh, copy to RAM, those two don't read changes from the disk. So any change that you make in your permanent environment, so if you've installed Joe or, or Xemax or whatever, and you just decided, why, why bother making it a module that I can load and unload, I'll just install it to the system, just like a normal Linux distribution would expect me to do. Well, if you, you do that, it'll be fine. You can use those programs in graphical, but if you copy, if you do copy to RAM or you boot always fresh, then those applications will not be on your system and they won't be available. They just, they just aren't there. If you make the modules, however, they get saved to an external place, an external mount point, and that, by default, is slash M&T slash SDX1, or, you know, where X is whatever drive Portius itself is, whatever mount point it is at, slash Portius slash modules, or slash optional. Those are the two default locations for modules that you want to have loaded when you boot Portius. Strangely, Portius doesn't actually put, so if you, let's say, you say, do not install, make it, make it a module instead, and you let USM continue with its process. It'll download those packages, and, and they all get downloaded as .TXZ files, or TJGZ or whatever, but a T question mark Z, because that's what Slackware packages use. And then it gets converted to what is called a .XZM file, which is the module format. The module format is a highly compressed version of the package, and it is placed into a, I guess, a squash FS, is what it is. Squash FS container, or format, and then when you activate that module, it integrates itself, it overlays itself onto your, onto your system. So an XZM is created from the Slackware package that it's downloaded. There are a couple of different options that you can, you can bundle them together, or you can put them together as a bundle if there are lots of dependencies, and you want them for some reason to be sort of placed. Placed logically together, you can put them into a sub directory for, for whatever reason, you think that's more organized, but I usually just have it dump it onto my system. The place that it dumps it onto, or into, is slash TMP slash USM. So that's not persistent, that's not going to always be there. I mean, it is sort of, but, but it's a slash TMP, so it's not really. So in order to actually like to make the thing a module, and to have it available the next time you boot, you want to move that those modules or copy them, copy those modules, because now they're running, now that you've, you've installed them, or you've created modules out of them, they're running on your system. So you might as well copy them rather than move them, or else you'll lose those, that functionality, copy them over to slash MNT slash SDX1 slash Portia slash, either modules or optional. Modules get auto-loaded, or yeah auto-loaded, when you boot Portia's in graphical mode. Optional, they don't get auto-loaded, but they're there, they're there for you. In Always Fresh or Copy to Ram, nothing gets auto-loaded, but they do remain available for you in the module's directory, or the optional directory, so you could activate them yourself. And there are, I keep saying, activating, and that that's an actual command on Portia's. You can install something like a Jove, and I think by default, yeah, by default when you do that on Portia's, it is auto-loaded, so Jove, the command, would be instantly available to you if you had just installed that as a module. But maybe for some reason you don't want that available right now, you can deactivate Jove, or you could activate Jove, if you suddenly realize that you need it, or if you've placed it into the optional directory, and it's just something that you use every now and again, you can activate the program manually, and that's the activate or the deactivate command, and it's just activate in the path to the module file itself. And that's kind of useful because there are some programs that maybe you don't necessarily need auto-loaded every time you boot Portia's. And if you're not going to use that big IDE that you've installed every single time, and especially if you're copying it to RAM, why bother auto-loading that into RAM if you don't necessarily think you're going to use it every time, you could just manually activate it on an as needed basis. And when you activate a module, as I said, it's a squash FS, so it overlays itself under your system, and that's the term that Portia's talks about a lot is layers, the layers of its file system, and it's an important concept to know because layers overwrite the previous layer. And if you've got a file that you've changed, and you create a layer that happens to include that file, then your change is going to be overwritten by the new layer. It doesn't happen often, it's mostly a system-level problem, but in theory it could happen. That's using USM, it's a pretty simple application, I mean it's looking at some repositories, it downloads the packages, it runs a little auto-converter in the background, and then everything's installed. There are some things that you can do, you can do a USM-space-set-space storage, I think it is, and tell it where your module storage should be permanently. That's a handy one, because if you don't want things to keep being placed into slash temp slash USM, that might be something that you want. I've tempted it slash temp slash USM, because I'm not sure how great its cleanup process is, and I haven't really explored that that much. But it is something to be aware that USM for whatever reason has, as far as I can tell, no switch to say, yes, make this permanent and copy it to slash nt slash sdx1 slash portias slash modules. So you have to do that part yourself, I think on one hand I probably get why they're doing that, and that is because certainly in the past my portias volume has not been the volume to which I actually want modules written. Like I will keep, I have in the past kept my modules on a separate device, so portias gets booted, and then I load the modules from a thumb drive or some other device manually. And you can do that with a simple activate, and then a path to a directory full of modules, it'll cycle through all the modules that it finds, so it's pretty easy to do. So anyway, that's modules and how to manage them USM, and using your common sense as to where you where you save them, and knowing about modules slash versus optional those two folders. Okay, so that's really everything about USM that I think is important. Another thing though to mention here, well, I guess a cautionary note is that portias doesn't necessarily, I shouldn't say portias. I think it's more like KDE, KDE doesn't like certain things to be changed, and it's interesting because I've experienced a problem both on slacks and on portias with certain things about KDE that just don't seem to really agree with the live environment. I'm going to test LXCute for a little while to see how it did, but I had to leave out of country right now, so I'm not traveling. So I needed a good portias drive to take with me, I wanted that, so I didn't really have time to mess around, I had to spend my time building up my little portias system. But there have been certain things about KDE, for instance, it really doesn't seem to like me changing mostly plasma based things. So if I change the kicker of the panel from the bottom to the top of the screen, which I kind of do out of habit, it breaks KDE to the point that the KDE init just will not function. So when it's trying to start the KDE desktop, it breaks. And that's happened a couple of times, both on slacks and portias. I don't know if it's specifically moving the panel from the bottom to the top. It might also have, you know, because I'm often, I do that, and then I add some widgets that I want, you know, like a pager for a virtual desktop and a color chooser, because I like to have a color chooser on hand. So there's a couple of different things that I tend to do, and I haven't stopped yet in all these years to figure out exactly what the change is. That breaks KDE, but it is something that happens. So I guess what I'm trying to say is that if you are using the KDE version of portias, or maybe other ones too, because I don't know if this is just a KDE problem, or if it's sort of a portiest layering problem, or a slacks and portiest layering problem, but too many changes to the default environment might be a little bit dangerous. You probably don't want to go too crazy. Now that being said, there's a lot that you can do. You can install, or rather you can change startup scripts and set environment variables and put in, drop in your config files. You do all that stuff, and it doesn't seem to matter. The desktop itself, at least in my use case, seems to be a little bit more delicate, though. Now a couple of things about these modules, again, though, really quickly. Modules are super easy to make if you know how to make a slacker package, which, by the way, are super easy to make. There's a T question mark Z, so whether it's a G, a B, or an X, two, XZM script in slash opt slash portiest scripts, it's a little conversion script that you can run. I mean, USM uses it on the back end, and you can run it. So if you have a Slack build that you build from source, or if you have a Slackware package that you've been carrying around, you can convert that into a module really, really easily. And that's a huge, that's a really big bonus from Slack's for me, because Slack's had this sort of simple, it had a Slack's command, and it was kind of a simplified version of Slack builds. And it was quite nice and all, but it required changes. I couldn't, I couldn't just take a Slackware package and run it on Slack. I had to basically rewrite the script within the Slack's build system. So for portiest to just be able to take any Slackware package, I throw at it and convert it to XZM, super, super nice. However, what I have found, not, not, not related to me doing this, but what I have found is that some modules sometimes cause problems. And for whatever reason, I'm not really sure why I think it was the inkscape module. For some reason, it caused all kinds of problems. And I think probably once again, it's probably down to that whole layering thing where, for whatever reason, a module that you're building, is colliding with the default environment of portiest and making it impossible for portiest to start some important service. I think it was inkscape, and I'm thinking it was that because it required, at least that particular build, required Qt4 and portiest is using Qt5. And I have a feeling that those two things collided. Inkscape is a program that I use all the time, though. So I definitely needed it. And I thought, you know, if, if I'm having this conflict, I could either recompile inkscape myself, which wouldn't be a problem. And build my own Slack package of inkscape and then take that into portiest, do the XZM conversion. And then I'd have my own custom module, not a problem. Doesn't scare me in the slightest. So I went to Inkscape's website to download the source code. And I noticed that they have a flatpack available. Flatpack is the new, the hot new universal packaging, packaging system for Linux. And I've had really, really good experiences with it so far. So I thought, I wonder, flatpack would work on portiest. So I installed flatpack. And when I first tried to install it, it wouldn't launch. And the reason it wouldn't launch is because there was a dependency that it needed that it assumed you already had because the build script was written for Slackware. And so it knew that this extra dependency, which was, in fact, glib dash networking was already installed on Slackware. So USM didn't didn't alert me that that would be necessary. So it failed to launch until I installed glib dash networking and then flatpack launched. So then I did a flatpack install of both Gimp and inkscape works like a charm. I reboot into portiest and Gimp and inkscape are both available through flatpack and they run phenomenally. No problem. Now I'm not saying inkscape will always break portiest. I'm just saying that it did on this occasion. And instead of making my own module, I decided to test out flatpack. And I am happy to report that flatpack is an option. You can use flatpack. It works beautifully. It launches the applications as you would expect. And you can have all kinds of applications on portiest through flatpack and through modules. The other random breakage that I experienced was with EMAX, another program that basically if it's not on the computer at this point, it's a far less useful device to me. So I really wanted to get EMAX on here. And EMAX just kept not wanting to start. Couldn't figure it out. Turns out there was some kind of environment variable not being set somewhere in the in the in the chain. I don't know where I don't know what the fault was. I just diagnosed the issue. So I could have installed X EMAX without a problem. And I was very tempted to do that because I've never used X EMAX. And I know that it was a fork of EMAX, a canoe EMAX. So I felt like it would probably be similar enough. And it might be fun to learn a little bit about the difference. But in the end, I just decided to stick with EMAX because it was what I knew. And as I have said, I'm traveling right now. So I kind of needed to get everything done so that when I left, I would have a working thumb drive on me. And the problem that I'm just saying this kind of for I guess documentation purposes, but but also just as an example of some of the things that might happen, there were some environment variable not being set. And it was I think window underscore foreground and window underscore background. I don't know why those are required or what system really needs them. Well, I kind of do. But they looked the way that it was being reported looked super familiar to me. And I thought I think those are variables that normally get set in the dot X defaults of file. And dot X defaults is a file that I'd never have known ever existed if it hadn't been from my my usage of the RX VT terminal in order to theme the RX. Well, it's you are XVT really unique code RX VT in order to theme that with a black background and green foreground or whatever you want. You have to set your the colors in the dot X defaults file that's dot capital X in the word defaults all one string. Now I happen to know because I wanted to change the font size at one point of of my X of my RX VT terminal. And I happen to have learned from some random person at a at the pub at an I think on all things open conference that in order to update the X default file you run XR DB and then the path to your dot X defaults file. You do that and it kind of does its little processing whatever it needs to do to update all these these variables and then you're good to go. Well, it turns out that the window underscore foreground window underscore background variables needed to be set or could be set rather into the dot X defaults file. So I tried it. I entered them in there. I set them to some fairly random values. I think I don't really remember. I think it was probably just black and white respectively. And and then I did the XR DB till the slash X defaults and it worked fine. Emax launched great. Well, guess what next next time I rebooted of course XR DB hadn't been run had never been run. So Emax wouldn't start again. So I realized that this was going to have to be this XR DB thing was going to have to be something that gets set upon every boot and I couldn't figure out how exactly how how best to do that. Well, it turns out upon further research and this is not what I did, but you can actually add it to Etsy slash RC dot local. That that portias will will respect that change as long as again you don't have something layering over that that changes Etsy slash RC dot local. But I feel I mean RC dot local by nature is supposed to be user defined things. So I don't feel like anything would have over it. So that's one way I could have done. But I thought better still since X defaults is within the home directory of the guest user as it is called in portias. Then then really it belongs in the in the home in the home directory and there is a directory in KDE 5 and possibly just in general till this slash dot local slash I think config slash auto start dash scripts. Something similar to that I don't know do a fine for auto start it's there you can put shell scripts in that directory and then when you're desktop or when you're when your environment loads it runs those scripts. So I put the XR DV update in into that directory and sure enough upon a reboot it was there it got executed emax launched just fine. So sometimes there are little things here and there that you have to adjust for it it tended to be pretty easy for me I mean a lot of these things kind of sound pretty random. But I don't know the errors were pretty well reported and it was just things that I recognized possibly I'm not sure but it was nothing was really a deal breaker and it didn't take me anymore than an afternoon to get all of this stuff done. The final note that I have I guess would be about the users and the well the user in the route identity so on slacks you just ran as route all the time it was one of those controversial oh my gosh you run as route on this district how can it even call itself linux type of thing never really bothered me one way or the other just kind of something that I just ignored. But people had problems with it in portias I guess maybe had a problem with it because they don't do that they do not have people running as route they instead have you running as a user called guest. Guest guest well guest is the user guest is the password and that's it that's that's all you get on on portias meaning that you really can't I guess create me maybe you can but they say they note that guest is pretty well hard coded into portias and that if you try to create a user outside of guest that you're welcome to try it but they caution against it. So I have not played around with that option yet I don't know that I will because it really just doesn't matter that much to me I can manage my data regardless of the user name I may I may try I might try well both creating a user but also changing my user ID for guest because that tends to be that. I tend to trip me up a lot more than than the user name is just the user ID if I could standardize the user ID that would make some of the external storage stuff a little bit easier so that's just something for you to be aware of that the guest user is expected to be your primary well really your only user that's I think everything I have to say about portias it's a really cool system it's a lot of fun to play around with I'm I'm absolutely loving it because it provides me. Well it provides me slackwear on a keychain and that's really that's a huge thing for me it's really really nice I have slackwear on my keychain wherever I go any computer I use can turn can be turned into a slackwear box for whatever length of time that I use that computer brilliant easy and comfortable you should try it portias portias.org thanks for listening. you've been listening to hecka public radio at hecka public radio dot org we are a community podcast network that releases shows every weekday Monday through Friday today show like all our shows was contributed by an hbr listener like yourself if you ever thought of recording a podcast then click on our contributing to find out how easy it really is hecka public radio was founded by the digital dog pound and the infonomican computer club and it's part of the binary revolution at binwreff.com if you have comments on today's show please email the host directly leave a comment on the website or record a follow-up episode yourself unless otherwise stated today's show is released on the creative comments attribution share light 3.0 license