• 2 Posts
  • 21 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle


  • The easiest way to disable unnecessary services is to uninstall them with aptitude, or whichever package manager you like. Try terminating services one by one, and see if anything bad happens. If nothing bad happens, you can probably uninstall it. On the other hand, if the system does get wonky a reboot should fix it. Or, you can research the services by name and decide whether to uninstall them. (avahi-daemon for example is a good idea to uninstall.)

    To make the GUI not run, uninstall your display manager (gdm, xdm, nodm, or whatever) and uninstall your xorg server or wayland server. There may be GUI programs remaining after that, but they will only be consuming disk space, not RAM or CPU.

    If the battery is old and holds little charge, you may save a few watts by removing it and throwing it away, instead of letting the system keep it topped off.

    Get a power meter, such as a Kill-a-watt device. Then, experiment with different settings. If it’s consuming less than 30 watts, you’re probably fine. If you live in the US, one watt-year is about one US dollar (or a little more), so for every watt it consumes, that’s about how much you will pay per year for its electricity.


  • NTFS is considered pretty stable on Linux now. It should be safe to use indefinitely.

    If you’re worried about the lack of Unix-style permissions and attributes in NTFS, then getting BTRFS or ext4 on Windows may be a good choice. Note that BTRFS is much more complicated than ext4, so ext4 may have better compatibility and lower risk of corruption. I used ext3 on Windows in 2007 and it was very reliable; ext4 today is very similar to ext3 from those days.

    The absolute best compatibility would come from using a filesystem natively supported by both operating systems, developed without reverse engineering. That leaves only vfat (aka FAT32) and exfat. Both lack Unix-style permissions and attributes.


  • That first part is eerily similar to what I was about to post.

    In 2011, I was a lonely introvert. I spent my time binging TV shows and reading.

    In 2012, on an IRL meetup thread on the 4chan x (paranormal stories) board, I met a new friend. I think deciding to meet them was the critical moment. They introduced me to a local arts and crafts club, a certain sci-fi fandom, and Minecraft.

    The arts and crafts club became the basis of a friend group that is still my main friend group today. They brought me to a local convention in 2013 where I discovered I was trans.

    In that sci-fi fandom, at a 2016 convention, I met my current partner, and a bunch of new friends.

    I played a lot of Minecraft from 2012 to 2016, but then my partner in 2016 introduced me to Factorio.





  • This is false. X is not less secure than Wayland. It does have a different security model, which can become insecure if you misuse it. I don’t think people really care about situations where multiple user accounts access the same display.

    In my opinion, the benefits of xdotool far outweigh any benefits gained by Wayland’s security model. It’s impossible to make xdotool in Wayland, because of its security model.


  • This post was kind of a pain to read, with all the reddit links. I had to convert them to old.reddit.com to get them to display properly.

    I think Steam was in the right to remove that one game. “Looks = age” is true for cartoon characters, since they have no biological age. It seems the character was described as 19 in lore, but in Steam’s opinion, they looked like a prepubescent child. Since cartoon child pornography is illegal, they were right to remove it.

    But that other stuff seems to be legal. Cartoon rape porn games are appalling to me, but are probably legal, and should be legal. I agree that people being unable to pay for legal (even if appalling) content is a form of undesirable censorship.

    It’s probably Visa’s fault. They seem like a complete monopoly. I rarely see anyone with a non-Visa credit card. I myself have a Discover card, but I have to have a Visa card too because some merchants don’t accept Discover. Every merchant accepts Visa, and every customer has to have a Visa card. Merchants today are more likely to refuse cash than to refuse Visa.

    Possible solutions:

    1. The libertarian approach: The government needs to remove barriers to entry in making new payment systems. Loosen BSA requirements for smaller payment systems. Require existing banks to interoperate with the design of new payment systems, if their customer requests it.

    2. The socialist approach: The US government could create a payment system. It would be protected by constitutional free speech rules, so legal content couldn’t be blocked.

    3. The moderate approach: Treat Visa like the monopoly that it is. Treat it as a defacto commons, where people are forced to go even if they don’t want to be there. As long as it remains a monopoly, it should be required to carry all legal customers. Even customers selling appalling content, like cartoon rape porn games.


  • I never got Proton working on my main distro (Debian), so I probably fall into this category. I did use Wine, but Wine is a lot harder to set up, and never ran games as well as Proton did.

    Here is my major gaming history, since I started on Linux in 2007. Yes, I really could focus on a single game for years back then.

    • 2007: Starcraft, in Wine
    • 2007: Nethack, native
    • 2011: Morrowind and Oblivion in Wine
    • 2012: Minecraft, native
    • 2014: sgt-puzzles, native
    • 2016: Steam, got hundreds of native Linux games.
    • 2017: Briefly got Steam and Path of Exile working inside a Wine instance.
    • 2022: Steam deck, with the specific purpose of being able to run Proton on it.
    • 2023: New Ubuntu installation, and Proton finally worked on my PC.

    Today, I still prefer native Linux games. I mostly only use Proton when peer pressure for a multiplayer game required it. But I never use Wine any more.



  • A couple months ago, I made a Palworld server box out of a spare motherboard assembly (mobo, processor, ram) from a computer I had recently upgraded.

    I didn’t have any spare drives lying around, so I plugged in 7 USB flash drives and made them into a RAID array. Not a true RAID array, but a BTRFS filesystem with volumes spread onto each flash drive, with the data redundancy set to raid1, and the metadata redundancy set to raid1c3.

    It worked… in the sense that I never lost any data. It certainly didn’t work in the sense of having good uptime.

    The first problem was getting it to boot right. The boot line in GRUB had “root=UUID=…” instead of a specific drive named. That is normal. However, in BTRFS multi-volume filesystems, all the volumes have the same UUID. So the initrd was only waiting for a single drive matching that UUID, then trying to mount it as the root filesystem. This failed, because the kernel had not yet set up the other 6 USB drives, and this BTRFS filesystem needs all 7 volumes present. Maybe 6, if you used the “degraded” mount option.

    The workaround was to wait for this boot process to fail, at which point you get dropped into an initrd shell. Then, you look at all the drives and make sure they’re all there. And then… I don’t exactly remember what happened next. I think it was some black magic that erases your mind in the process. I somehow got it booted from the initrd shell.

    Installing Steam and the Palworld server worked ok, and it even ran for a few hours before crashing overnight.

    The next morning, I tried rebooting it. Unfortunately, the USB drives weren’t all appearing. Turns out the motherboard had some bad USB ports, some sometimes-bad USB ports, and a maybe-bad PCIe bus, because the PCIe USB expansion card I plugged in had weird problem that it had never had before.

    I found the most reliable ports and plugged the drives in there. But you can’t just replug them in the initrd. It doesn’t have USB hotplug support. So each time it tried to boot with not all the drives there, I restarted it again until one time I finally had all the drives.

    I changed the GRUB boot line to “root=/dev/sdg1” . This made it wait for all the drives to load, in any order, and whichever one was last would be mounted as the root filesystem (but the kernel would automatically include all the others too, since they were successfully initialized).

    The bad USB ports kept bringing down the server every day or two. I bought a cheap NVMe drive and added it to the BTRFS filesystem, and then removed all the USB drives except the largest. That fixed the reliability. It’s been like that since.

    Now, to boot the server, all I have to do is change the GRUB boot line to “root=/dev/sdb1” . Since the NVMe drive is much faster than the USB drive, it always initializes first. If the initrd waits for sdb2, then it will always have both drives initialized when it tries to mount the root filesystem.

    I could add that to the grub.cfg, or come up with some other more permanent solution, but I’m not planning on rebooting this server ever again. My friends fell off Palworld, and I gave a shutdown date that’s about a week away. And the electricity is pretty reliable here.



  • The good news is: the error shown there was a PCIe bus error, which means the error is somewhere between the NVME controller and your processor’s PCIe interface. Also good news: the errors you experienced were fully corrected, so you probably lost no data.

    So the flash memory in the drive isn’t failing. That’s good because if the flash memory starts failing, it’s probably only going to fail more. In this case, your errors may be correctable: by replacing the motherboard, by replacing the processor, by reseating the NVME drive in its slot, by verifying that your power supply is reliable…

    However, if your NVME controller actually does fail, it will be little consolation to tell you that your data is all still there on the flash chips, but with no way to get it. So now might be a good time to make a backup. Any time is a good time to make a backup, but now is an especially good time.

    If you keep getting these errors at the same rate, then you probably don’t need to do anything, since the errors are being corrected. If you’re worried, you could use BTRFS and enable checksumming of data.


  • Using a VPN (like Tailscale or Netbird) will make setup very easy, but probably a bit slower, because they probably connect through the VPN service’s infrastructure.

    My recommended approach would be to use a directly connected VPN, like OpenVPN, that just has two nodes on it – your VPS, and your home server. This will bypass the potentially slow infrastructure of a commercial VPN service. Then, use iptables rules to have the VPS forward the relevant connections (TCP port 80/443 for the web apps, TCP/UDP port 25565 for Minecraft, etc.) to the home server’s OpenVPN IP address.

    My second recommended approach would be to use a program like openbsd-inetd on your VPS to forward all relevant connections to your real IP address. Then, open those ports on your home connection, but only for the VPS’s IP address. If some random person tries to portscan you, they will see closed ports.


  • You know that stuff that appears on the screen before the operating system? That is the computer’s firmware. Sometimes it shows a brief memory check, sometimes it has a silly error message like “No keyboard detected. Press F1 to continue.” Sometimes it’s just a big image of the motherboard’s manufacturer’s logo. That firmware exists independently of the operating system, and will run even if you don’t have any operating system installed.

    Most people refer to the firmware as the “BIOS”, but technically, BIOS refers to an API between the firmware and the operating system. About a decade ago, some people decided that “BIOS” was going to be replaced by “UEFI”, and operating systems would start having a new way to boot. What ended up happening is: the firmware on all recent computers supports both UEFI and BIOS interfaces (and everyone still calls it “BIOS”). Recent Windows versions seem to only boot in UEFI mode, but most Linux distros can boot in either UEFI or BIOS mode. The GRUB bootloader can also start itself up in either UEFI or BIOS mode.

    USB live operating systems are limited in size and may have less functionality than other operating systems, so maybe they are only able to boot in one method or another. Try looking around in the firmware (or “BIOS” if you prefer) to see if you can change the boot method to allow both UEFI and BIOS operating systems.

    It may help if you can take a picture of some of the firmware’s boot configuration menus.




    You are correct that the Desktop Environment and Package Manager are the most important part of any distro. Of those, the Desktop Environment is the most important. Switching between Ubuntu with KDE Plasma and Arch with KDE Plasma is less visible of a change than switching from KDE Plasma to Gnome in any distro.

    Most distros include all the major Desktop Environments: Mate, Gnome, KDE Plasma, and probably several more.

    The biggest missing feature between Mint/Ubuntu/Debian is Container-based package management. This is an additional installation method, for “application”-like programs, usually proprietary. Debian has the infrastructure to run these, but you have to find or make the containers yourself. Mint has more support, in the form of a graphical package manager installed by default.

    There’s really not much difference in the feature set of distros. Debian, Ubuntu, and Mint have a lot more in common than they have differences.

    Desktop environments usually include a full set of these. I just use whichever comes with it.

    Linux usually has the drivers already set up right away on first boot. You shouldn’t need to install any drivers. There’s very little bloat. Any superfluous packages are likely consuming no CPU time, just drive space. Every default installation comes with a media player and file archiver, but you can install VLC or RAR if you like them better.

    They probably had a bad experience with one or more qt-based programs, or got a negative response when they filed a bug report to a qt program or library. Or, they were using some weird mix of old and new software, and ended up in a weird dependency loop that blocked a large set of packages on their system.

    Probably. The most common distros will have the most community support.

    Spend most of your effort choosing a Desktop Environment. Fortunately, this can be changed after installation.