• 2 Posts
  • 16 Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle

  • I use an older HP thin client PC with a 4TB solid state drive as an SFTP file server using vsftpd, but if you are local only then an SMB server using samba would probably be fine. I use SFTP because I wanted something a bit more secure which I can port-forward with my router on a random higher-numbered port for remote access.

    I mostly taught myself how to do this by looking at guides originally meant for the raspberry pi, but there is nothing different about running these same programs on Debian or the like. Personally, I would not recommend a raspbery pi for a large file server, as they do not natively support SSDs without additional hardware which will make the price significantly higher and less self-contained than a used, older-gen thin-client PC which can be had for relatively low cost on places like ebay (though they do make some fairly high capacity micro SD cards these days).

    Hardware-wise, generally these types of servers are not CPU intensive, nor do they require any particularly high amount of RAM, so an older-gen or lower power CPU can often work fine, but you should probably make sure to get something with at least gigabit ethernet speeds, as a 100Mbit connection on, say, a raspberry pi 3 or older will be very slow for transferring large files.



  • Daily Arch user here. The process of configuring an Arch install is perhaps not as difficult or mystical as you are imagining. I would say it is more like your first analogy: picking what off-the-shelf parts you want for a system and then putting them into a case. I think what you are describing is more like Linux from Scratch.

    Installing Arch is effectively taking the steps performed by the installer .iso disks which every distro uses and instead doing it manually with CLI commands. You use CLI commands to partition the drive, create a filesystem, install a basic set of packages, then chroot into your system and use the package manager to install the rest of the packages you want. Aside from editing a couple config files, there is zero coding involved. The exact steps vary from guide to guide, but a basic outline of what I do is as follows:

    • First, I download the Arch iso and write it to a USB.

    • Once I boot up the install USB, I use iwctl to connect to my wifi for the packages I will need to download,

    • then I use fdisk to partition the drive I want to install to with an EFI and linux filesystem partition (You might also make a swap partition at this step but I typically use a swap file on my filesystem partition).

    • then you use mkfs to create filesystems on the EFI and linux filesystem partitions.

    • Then I use genfstab to make the /etc/fstab file

    • Then, I use pacstrap to install the base packages like pacman. Then I mount the filesystem and chroot into the new partition.

    • From there, I basically use pacman to install all the packages I need, including the linux kernel (I use linux-zen), the DE (I use KDE), the boot manager (I use Refind), and everything else. There are a few cleanup steps like setting the locales and time zones, etc. but that is about it.

    I suggest watching a guide on youtube, which was how I learned, or installing something like Arcolinux or Endeavour, which simplifies the installer into a series of checkboxes to select what DE you want, etc.



  • I have been daily driving Linux for a couple years now after finally jumping ship on Windows. Here are a few of my thoughts:

    • it is important to make the distinction between the distro and the desktop environment, which is a big part of how the UI will look and feel. Many of these DEs such as KDE Plasma, XFCE, and GNOME will be common across many distros. I might do some research on which DE you like the look of. I personally have used KDE the most and that is what I prefer, but all of them are valid options.
    • Coming from Windows, I would go into this with the mindset that you are learning a new skill. Depending on how advanced you are with windows, you will find that some things in Linux are simply done differently to how they are in Windows, and you will get used to them over time. Understanding how the file system works with mounting points rather than drive letters was probably a big one for me, but now that I have a grasp of it, it makes total sense to me and I really like it.
    • It will also be learning a skill in terms of occasionally debugging problems. As much as I would like to report that I’ve never had a problem, I have occasionally run into things which required a bit of setup at first or didn’t “just work” right out of the box. I know that probably sounds scary, but it really isn’t with the right mindset, and there are tons of resources online and people willing to help.

  • In everything I have seen, there has been no way to turn it off fully (laptop with a GTX 1060). Nvidia x server settings shows no option for a power saver mode, and even Optimus-manager set to integrated graphics only does not seem to have changed it. It seems to continuously idle at the minimum clock speed at around 5W of draw, according to programs like nvtop.



  • It depends on a few factors. Stock laptop experience with no power management software will likely result in poor battery life. You will need some kind of power management like TLP, auto-cpufreq, or powertop to handle your laptop’s power management settings.

    Second is the entire issue of dedicated GPUs and hybrid graphics in laptops, which can be a real issue for Linux laptops. In my own laptop with a dGPU, I am reasonably certain that the dGPU simply never turns off. I have yet to figure out a working solution for this, and so my battery life seems to be consistently worse than the Windows install dual-booted with it on the same machine.


  • I am not sure if we are discussing hibernation for encrypted systems only, and I do not know what special provisions are needed for that, but for anyone curious, here is what I do on my own machine (not encrypted) per my own notes for setting up Arch, with a swap file rather than a swap partition, and rEFInd as the boot manager (the same kernel params could probably be used in Grub too, though):

    • create a file at sudo nano /etc/tmpfiles.d/hibernation_image_size.conf (copy paste the template from https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate)
    • if you made your swap file large enough (~1.2x ram size or greater), set the argument value to your amount of ram, e.g. 32GB= 34359738368
    • after a reboot, you can verify this with cat /sys/power/image_size
    • findmnt -no UUID -T /swapfile to get swapfile UUID
    • filefrag -v /swapfile | awk '$1=="0:" {print substr($4, 1, length($4)-2)}' to get offset
    • Go into your kernel parameters and add resume=UUID=### resume_offset=###
    • e.g. in /boot/refind_linux.conf (with efi partition unmounted)
    • go into /etc/mkinitcpio.conf and add “resume” after the “filesystem” and before the “fsck” hooks
    • run mkinitcpio -p linux-zen (or equivalent linux type)—

  • I do not know what sort of power management software exists by default on Ubuntu, but for laptop use I would strongly recommend getting a power management package like TLP to configure power profile settings for your laptop when on battery and on charge. It can greatly improve battery performance. Some alternatives like auto-cpufreq and powertop exist, but I have tried all 3 and found that TLP worked the best for me.





  • Okay, I was able to find a workaround. I use rEFInd as the boot manager on my everyday laptop so I just installed that onto the boot partition of the thumb drive.

    I took out the USB drive, plugged it into my laptop and ran refind-install --usedefault /dev/sdb1 (or whatever the ESP partition is of your thumb drive, and you would have to have refind installed first), then plugged it back into the mini PC again.

    I had to disable secure boot, which is par for the course with Linux I guess, and after that refind loaded and seems to be working consistently now.

    It would have been nice for the sake of this thread to have found a solution within Grub, but unless someone comes by with a solution, I may just stick with refind for now. I have nothing against Grub, but honestly I have grown to love refind for the degree to which it just. freaking. works.




  • Electrical engineer here who also does hobby projects. I’m with you. I think some of the reason may be that modern GaN-type green or blue LEDs are absurdly efficient, so only a couple mA of drive current is enough to make them insanely bright.

    When I build LEDs into my projects, for a simple indicator light, I might run them at maybe only a tenth of a milliamp and still get ample brightness to tell whether it is on or not in a lit room. Giving them the full rated 10 or 20mA would be blindingly bright. I also usually design most things with a hard on/off switch so they can be turned all the way off when not in use.

    Of things I own normally I also have two power strips with absurdly bright LEDs to indicate the surge protection. It lights up my whole living room with the lights off. If I had to have something like that in my bedroom, I would probably open it up and disconnect the LEDs in some way, or maybe modify the resistor values to run at the lowest current I could get away with.

    I feel like designers have lost sight of the fact that these lights are meant to be indicators only-- i.e. a subtle indication of the status of something and not trying to light a room-- and yet they default to driving them at full blast as if they were the super dim older-gen LEDs from 20+ years ago.