this post was submitted on 11 Aug 2023
5 points (100.0% liked)

Linux

45595 readers
687 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Between wanting to do more with local LLMs, wsl annoyances, and the direction tech companies have been going lately, I think it's time I start exploring a full Linux migration

I'm a software dev, I'm comfortable in the command line, and I used to write the node configuration piece of something similar to chef (flavor/version agnostic setup of cloud environments)

So for me, Linux has always been a "modify the script and rebuild fresh" kind of deal... Even my dev VMs involved a lot of scripts and snapshots. I don't enjoy configuration and I really hate debugging it, but I can muddle through when I have to

Web searches have pushed me towards Ubuntu for LLM work, but I've never been a big fan of the window Managers. I like little flourishes like animation and lots of options I can set graphically, I use multiple desktop multiple monitors

I've tried the one it comes standard with, gnome, and kde (although it's been about 5 years since I've last given them a real shot).

I'm mostly looking for the most reasonable footprint that is "good enough", something that feels polished to at least the Windows XP level - subtle animations instead of instant popups, rounded borders, maybe a bit of transparency here and there.

I'm looking at Ubuntu w/

  • kde w/ plasma (I understand it's very configurable, I don't love the look and it seems to be a bigger footprint

  • budgie (looks nice, never heard of it before today)

  • kylin (looks very Windows 10 which is nice, a bit skeptical about the Chinese focus)

  • mate (I like the look, but it seems a bit dubiously centralized)

  • unity (looks like the standard Ubuntu taken to it's natural conclusion)

  • rhino Linux (something new which makes me skeptical, but pretty and seems more like existing tools packaged together which makes me think the issues might not impact actual workflow)

  • anything the community is big on for this, personally I'd pick opensuze, but I need to maximize compatibility with bleeding edge LLM projects

My hardware and hard requirements are:

  • nvidia 1060ti
  • ryzen 5500u
  • 16g ram
  • 4 drives nearly full, because it's a computer of Theseus running the same (upgraded) vista license that came with the case like 15 years ago
  • multi desktop, multi monitor
  • can handle a lot of browser Windows/tabs
  • ideally the setup is just a package mana ger install script with all my dependencies
  • gaming support would be nice, but I'll be dual booting for VR anyways

I've been out of the game for a while, I'd love to hear what the feeling is in the community these days

(Side note, is pine as cool a company as it seems?)

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 11 months ago

From how you've described modifying your distro, that's literally NixOS. Your entire config is declared in a git repo, when you update the system it rebuilds it from that repo. But you'll have to learn the nix language, and it's not a easy-to-use, beginner-friendly distro.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)

Never forget that no matter the distro (well most of them) you can install whatever desktop environment you want. That said, if you want to dip your toes in first time, I'd go with Mint. Its debian based, so most stackoverflow solutions will already have the apt install command you need for you. It has a variety of DE options out of the box on their website too.

Also, KDE and Gnome have changed a lot over the last 5 years. Id give each of them another shot.

EDIT: yes, pine is based

[–] [email protected] 2 points 11 months ago

I’m really happy with Fedora Workstation. I actually think Gnome is pretty great these days.

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago)

My recommendstions would be -

  1. Linux Mint / vanilla debian
  2. Fedora / Nobara
  3. Opensuse tumbleweed (Like fedora, but rolling release and has btrfs snapshots configured out of the box)
  4. Endavour OS / vanilla arch ( if you want to configure everything manually)
  5. NixOS (very different distro, you can configure your entire system with a single file)

People have a misconception that Linux Mint is a newbie distro but don't let that stop you from using it. It's quite stable and will serve you very well.

For Desktop Environment -

You can try out XFCE, it doesnt look great out of the box, but it has all the options you'll need to make it look to your liking.

Then there is also Cinnamon, it doesn't have many configuration options but is really nice in general. The flagship version of Linux Mint comes with Cinnamon.

[–] [email protected] 1 points 11 months ago

You'll probably want KDE as it has the most options to set graphically and still just works out of the box. It has a theme store so you can just try a few different ones.

The footprint is still about a hundred times smaller than windows, so don't worry about that.

For a distro, I'd recommend not using ubuntu because it tries to force snaps on its users and they cause a ridiculous amount of issues. Especially if you want to do anything in python.

[–] [email protected] 0 points 11 months ago (1 children)

pro tip use Linux distro from any of the lists posted here, use docker for your local llm, which are often Ubuntu based. consider getting a more modern graphics card like 30 series with 16gb vram

[–] [email protected] 1 points 10 months ago

I had a contract come up and had to shelve this for a bit, and your comment immediately annoyed me, because it really isn't what I wanted to hear

But it also stuck with me because it sounded like the advice I throw at new devs starting a project, knowing it's a PITA up front, but pays dividends pretty quick.
So I looked it up, and despite my bad experiences with docker and kubernetes (I was tasked with doing weird, off label things with them and it sucked), I've decided to take your advice and stop looking for docker workarounds

And since it seems like it comes from a place of experience, I figured I'd share a bit more about what I want to do and see if you had any more advice

Basically, I want to link together basic models trained to do different things, with the end goal being something between a conversation partner and an assistant. The idea being I build very specific prompts to bypass the limitations of smaller models - the first goal is to take one LLM and a conventional management program and summarize key information, then use very specific structured prompts to generate a response to be vocalized and metadata that changes the state of the management system.

My thought is to take something like alpaca or falcon 7B to track and summarize relevant information, feed it into another such model trained as a conversation partner with this input and output format, then throw together a web interface and do text<->speech on my phone or dev computer.

When it comes to neural networks and LLMs, I have a good understanding of the theory of them and a great one of how brains work, but I'm mostly looking to use these systems as a black box initially. My initial goals are to generate dialogue trees for games and maybe practice my Spanish with a chatbot - accuracy and capabilities don't matter too much, I've played with projects that could do this by just sending prompts to an endpoint

Down the road, the goal is to have something extremely modular. This tech is moving fast and I envision linking a bunch of modules together to perform different tasks, and as better modules come out or I add/upgrade hardware, I want to be able to write something to act like autopilot in my ide or pilot a model in a game engine

The main objective is to learn and to run agents on my own hardware. I'm looking for a side project that will be useful enough to keep up my interest, but also give me a starting point to modify from so I'm not sitting at a python terminal forcing myself through a tensor flow course before I get to the good stuff

Any thoughts, advice, or projects you think I should know about when starting this journey?

[–] [email protected] 0 points 11 months ago (1 children)

Since you want GUI config go with OpenSUSE. it has Yast2-gtk GUI for all admin config, server config, software install, etc. And if you mess anything up you do a boot from previous snapshot to get back to normal operation, if all is good issue snapper rollback command, and that snapshot is now your default boot. (No need to diagnose what is wrong, more time being productive) if you can't find a package in the GUI search (of default repos) then software.opensuse.org has OBS community and experimental packages (like arch AUR). During the install summary you can go into software details and remove all, or any packages you want, or add...so you don't have to do the full install of everything if you like more minimal system.

[–] [email protected] 0 points 11 months ago (1 children)

I really enjoyed my time with tumbleweed some time back. The installer has a lot of useful options but it might be a bit daunting to new users. The installer could use a UI/UX improvement.

[–] [email protected] 1 points 11 months ago

It is a lot of info. When I was new to it I did a few installs because I was getting used to what MBR vs GPT was, or separate home from system, etc. So many options in the disk partitioner during install without enough "this is used to do x, advantages are y", etc

[–] [email protected] 0 points 11 months ago (1 children)
  • “I don’t enjoy configuration and I really hate debugging it, but I can muddle through when I have to”
  • “but I’ve never been a big fan of the window Managers”
  • as for “bleeding edge” distros
    • NixOS (above)
    • Debian Sid (unstable branch) – Ubuntu is based on Debian but is community run, you’re not subject to the whims of Canonical’s choices
    • Arch or EndeavourOS (Arch based) – most of the problems people have is indiscriminate use of AUR (user packages) rather than sticking with official package channels
    • openSUSE Tumbleweed – rolling release channel of openSUSE, uses btrfs snapshots for rollback and recovery
[–] [email protected] 1 points 11 months ago

Here is an alternative Piped link(s): https://piped.video/watch?v=DMQWirkx5EY

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source, check me out at GitHub.

[–] [email protected] -3 points 11 months ago

You'll likely settle on Linux Mint because it just works.