• 0 Posts
  • 119 Comments
Joined 2 years ago
cake
Cake day: July 8th, 2023

help-circle
  • Technically, nothing you use in tech is ever really “simple”, there’s tons of complexity hidden from the common user. And whenever parts of that complexity fail or don’t work like the user expects it to, then the superficially simple stuff becomes hard.

    Docker and containers are a fairly advanced topic. Don’t think that it’s easy getting into this stuff. Everyone has to learn quite a bit in advance to utilize that.

    To play games, you went into the wrong direction when fiddling with wine directly, or even just indirectly by using bottles You COULD do that, but you’ve literally chosen the hardest path to do so. You should use something like HeroicGamesLauncher, Lutris or Steam in order to manage your games, install and launch them fairly easily. These will take care of all the complex stuff behind the scenes for you.


  • I use Arch since approximately 2006 or so. I like its stability (yes!), performance, rapid updates and technical simplicity. It never stands in my way and it’s fairly simple to understand, administer and modify. It’s probably the most convenient OS I’ve ever used - sure it takes time/effort to set it up but once you’re past that it’s smooth sailing. It also doesn’t change dramatically over the years (it doesn’t need to) so it’s easy to keep up with its development. Plus, I have a custom setup script for it that installs and sets up all of the basics, so if I ever need to reinstall, I’m not starting from zero.

    I am eyeing NixOS as “the next step” but didn’t yet experiment with it too much. Arch is just too comfy to use and the advantages that NixOS brings aren’t yet significant enough for me to make any kind of switch to it, but I consider NIxOS (as well as its related technologies like the Nix package manager) to be the most interesting and most advanced things in the Linux world currently.

    If you’re reading this as a newbie Linux user: probably don’t use any of the two mentioned above (yet). They’re not considered entry-level stuff, unless you’re interested in learning low-level (as in: highly technical) Linux stuff from the start already. NixOS/Nix in particular is fairly complex and can be a challenge even for veteran Linux admins/users to fully understand and utilize well. Start your journey with more common desktop distros like Mint, Fedora, Kubuntu.


      1. There is no universal definition what a technology needs to achieve in order to be “successful” or “failing”. Linux, in particular, depending on perspective, could have either “failed” literally all the time because it hasn’t (yet) achieved desktop dominance, or it could have been massively successful on the other hand because it has been dominant on servers and mobile phones (in the form of Android). Now if we look at desktop Linux in particular, it has also somehow “not failed” at the same time, because it has continued to grow. It was stagnant for a very, very long time at around 1% market share but recently it’s been steadily increasing up to about 5%. Again, depending on your definition or vibes, you could call this either successful or failing. Which is why these terms in isolation are kind of meaningless.
      1. Microsoft is a company, Windows Phone was a product by that company. If a product from a company “fails”, the company will abandon that product. It’s that simple. Sure, gaining foothold against established iOS and Android is super hard. Which is the reason why Microsoft’s effort failed. But, they are just a company. Linux, on the other hand, is at its core a world-wide community-developed open source software project (as well as most of the software that runs on top of it) and so it doesn’t really matter if it grows up to Android or iOS size. It’s still being developed as long as people want to develop for it. There’s no single CEO looking at some statistics and calling to cut that project because it doesn’t serve his definition of success.
      1. In general, any project that strives to eventually rival established software products within a market has a steep uphill battle. It’s the network effect. Developers develop for iOS and Android because 99% of the user base uses those two mobile OS. Only very few developers will be like “oh there’s this new thing currently at 1% market share, sure, let’s help it grow!”. This alone prevents lots of apps you’d like to see on mainline Linux based mobile OS to ever exist for it. So you need to fall back to some workarounds like Waydroid, to run Android apps on Linux in the meantime, while Linux on mobile continues to grow and continues to attract developer attention. This can take a long time! On top of that are anti-competitive and monopolistic strategies and tactics being used by Google and Apple to ensure they remain on top of the mobile OS food chain. One such example is Google’s so-called Play Integrity API, which is basically a form of DRM. Some app developers have been misled by Google’s marketing to believe that they should implement it to ensure that their app is running on a “secure” device or environment. What they fail to realize is that Google uses that to basically label every non-Google-sanctioned Android distribution (like Graphene or Calyx or Lineage or many others) or Android runtime environment (like Waydroid) as “insecure” or other negative terms, which then prevents the app from being run at all. Furthermore they plan to restrict “sideloading” which means they want every app to only be distributed via Google’s app repository. This means Google wants to exert a ton of control over the developers, the platform and every single app that runs on it. Developers are usually being lured into this via marketing tricks that this would much more secure than it was before or similar nonsense. What they fail to realize is that this also destroys flexibility and freedom for the users to choose what they want to install, and from where. On desktop PCs, you have had these freedoms for forever (even Windows(!) is much more open and neutral than iOS or Android are these days) - you obviously also should have these freedoms for your mobile OS because it’s also just a computer with an OS on it. It’s simply none of the business of the OS developer to tell the user which apps he should install and from where. OS and apps are completely different things from completely different developers. Choice is being limited significantly when Google centrally controls what apps are being distributed at all, there’s 1 company telling you which apps you can and can’t use. This is obviously bad and should NEVER happen, but many developers, users and other people confronted with this are easily lured into Google- and Apple-operated cages by fake security talk/marketing. That means they help establish Google’s and Apple’s monopoly on mobile OS. This, combined with the network effect for app developers, is why it will take lots of time and also not a commercial product (because no commercial product will have the amount of money or time to compete with Apple or Google) to rise up to these monopolies until a third viable option is on people’s radars. Linux, due to its open source nature, is the only project that CAN achieve this because it can’t fail. It can only grow. But we also need to ensure that at least Android remains a somewhat neutral and open platform. If Google becomes more like Apple controlling literally everything, it gets even harder for alternatives (and for Android users in general).

    Linux phones are usable right now, but of course you have some limitations in practice… many apps aren’t available or you have to use workarounds. If you mostly use open source applications you could be fine though. Although it’s likely that you still need a secondary, small Android-based phone that you turn on just for those rare cases where you absolutely need a certain mobile app and it’s only available for Android. At least while Linux mobile OS usage is still low. It’s probably going to grow faster in the future, because those monopolistic companies usually enshittify their products and services at some point (Google is already well on it) and then regular Android/iOS users become so annoyed at what they’re using that they also open up more for alternatives. It’s basically what’s happening in the desktop OS space right now - Windows continues to become more user-hostile and annoying to use, and desktop Linux passively (as well as actively) becomes more popular as a result. At some point, these companies forget what made their products popular in the first place and are only operating in the mode of milking users for data and profits, because they don’t need to work hard anymore to improve the product - it’s already popular enough. At that point, regular users who normally don’t care about things like freedoms, privacy and ethics in the product they use will notice that things became worse and might switch simply because of inconveniences they didn’t have before.

    Another very good option beside Linux-based mobile OS these days is GrapheneOS. It’s the best Android-based distribution you can have currently, nothing comes close (not going to elaborate here because long post is already long). But you still should be prepared for increasing hostility from Google towards unofficial Android distributions, and some apps which use the Play Integrity DRM to not work. If you encounter this, make sure to let the app developer(s) know. They need to realize that they are only serving Google’s interests with this, not their own.


    • awk
    • the (usually rust-based) coreutils “alternatives” like bat, fd, eza, procs
    • trash-put (rm with trash integration. But beware that it also operates on directories by default, which rm only does with -r. There should be an option to change that behavior but there isn’t. Don’t alias rm to this)
    • wl-copy/paste (or the older one for X11, ‘xclip’ IIRC. Enables you to do stuff like “cat image.jpg | wl-copy” to copy it to the clipboard. Best alias it to something shorter)
    • xdg-open (open the file using your associated program for that file type. Alias to “o” or so)
    • pass (awesome password manager, when you have a GPG key pair. Even better in combination with e.g. wofi)
    • notify-send (to send GUI notifications from shell scripts)
    • ledger (plain-text accounting software. If you use Emacs you should take a look at this as it’s written by an Emacs dev, and has good integration of course)
    • nc
    • nohup

  • As others have mentioned there are unfortunately issues in detail when using an inofficial version of VSCode and even more issues when using the original VSCode of course. I get that it’s currently the most popular code editor but it’s really not recommended to use it. It’s kind of painfully obvious that Microsoft is driving the development of VSCode, and MS is simply not your friend. Not even when it gives you a permissively-licensed open source tool. It’s still kind of poisoned albeit at a low dosage, making it hard to detect. The type of poison we’re talking here are opt-out (if you’re lucky) telemetry (of course!), features or extensions which are ONLY compatible with the OFFICIAL build of VSCode so you can’t 100% work around VSCode’s issues by “being smart” and using a better-preconfigured inofficial build, and as an Electron-based application it’s very bloated and prone to security issues. And, of course, Microsoft steers its development so it may at any point introduce additional anti-features (which is likely, since this is MS we’re talking about here) and also steer its users away from using inofficial builds which might in theory fix some of those anti-features. It smells, and it’s not a particularly smart long-term time investment option.

    My recommendations are:

    If you want another relatively easy option learn the Vim keybindings (not that hard) and then use Neovim or NVim or however it’s called officially. It can be made into a full-fledged IDE with tons of modern features including LSP and Treesitter quite quickly and painlessly. As a bonus you become familiar with Vim which is present on basically all Linux/Unix/*BSD based operating systems on the planet, so it’s useful to know its basics.

    If you don’t mind the harder but more rewarding option, learn and configure Emacs (maybe start with Doom Emacs, it’s easier at the start and uses the Vim keybinds by default). Some other “starter kits” or “distributions” exist as well of course, e.g. Bedrock or Crafted Emacs. Emacs can do literally everything and more, it just needs a lot of time to tweak it, it uses a weird language, and the learning curve at the very start is basically a straight wall into the sky including an overhang. But once you’ve climbed that, it’s an amazing tool for life, going beyond just code editing. Emacs has been around ~40 years and is even growing stronger recently so it’s rock solid and highly dependable, a real tool for life. Also it’s community-maintained, GNU-backed FOSS without weird drawbacks. Since its default keybinds (as well as many other defaults) are ancient (terrible) you should either customize them in various possible ways or use evil-mode which allows you to use basically all of Vim’s keybinds inside Emacs as well.


  • kyub@discuss.tchncs.detoLinux@lemmy.mlTips for getting better at Linux.
    link
    fedilink
    English
    arrow-up
    16
    ·
    edit-2
    9 months ago
    • To learn Arch, install it from scratch (without archinstall), it’ll force you to read the Wiki and learn a lot of necessary commands in the process. After the installation, just keep using it. Using a Linux distro full-time as the only installed OS is the best way to keep at it and truly learn it over time. There’s no magic bullet here. Just keep using it and solving problems or issues as you go, learning more and more stuff as you go. If you need other OSses as well, run those in a VM. I don’t recommend dual-boot setups.

    • Don’t blindly copy/paste commands you don’t understand. Always try to understand them first. Some commands can be very disruptive or even destroy your configuration. If you don’t understand it or are able to adapt it so that it fits to your particular configuration or system, you can EASILY damage a configuration, or even make your system unusable. Also, some people like trolling other people and deliberately share harmful commands. Generally, test potentially destructive commands or complex commandlines before actually running them.

    • Document major config changes that you do. This is useful because you’ll be able to undo certain changes or even replicate your current system configuration fast when you change distros or have to reinstall in the future. For example my current Arch-based setup is fully documented in form of an almost-directly executable shell script. It does require some interactions but very little. If I ever have to reinstall this system, or upgrade my hardware, it can be done insanely fast and it’ll have the exact same configuration. This goes from basic partitioning and encryption all the way up to dotfiles and individual program configurations.

    • Don’t feel the need to learn hard/advanced tools like Vim or Emacs unless you really think you’re getting an advantage from that and aren’t hesitant to put in the time and effort to learn them. Most people don’t need to use them. They’re amazing tools but you need to be prepared to lose quite a lot of time to learn them before you can become productive with them, and this might not be a tradeoff that’s useful for every single user. You can also get away with much simpler tools, like nano (as a console-based editor) or whatever programmer’s text editor you want.
    • Similarly, whether a pure WM or compositor plus assorted tools compared to a full desktop environment is worth it for you or not, is up to you. There’s no wrong or right answer here. I’ve tried out pretty much everything and these days use KDE Plasma because I like the consistency and integrations and dislike having different, inconsistent stand-alone tools for panels, menus, notifications, wallpaper, file manager and so on. But again, there’s no wrong or right answer here. Just what makes more sense for you. It’s worth learning how to be able to configure and use a minimalistic setup, for sure. So trying it out doesn’t hurt and increases your knowledge overall. In general, in the Linux world it’s good to always know enough to not be screwed once some component suddenly doesn’t work anymore. For example, a competent Linux user should be able to deal with (temporarily) not having a GUI and fixing his system via commandline.

    • A minimalistic, DIY distro like Arch can be amazing to learn everything, if you want to do that at least. If you just want a working desktop system with as little effort as possible, then don’t do that. But if you intend to learn every detail, then a distro like Arch is better suited for that goal than a “bloated”, fully pre-configured distro like Mint or Ubuntu is. Because Arch is much simpler on a technical level than those are. It’s much easier to understand e.g. the relatively simple package building process on Arch than it is on Debian/Ubuntu-based distros. But this “simple” explicitly refers to technical simplicity or minimalism. Most users expect something else when they hear “something is simple”. Arch is not simple as in beginner-friendly, but it is simple in terms of technical complexity, which is why many advanced users and tinkerers like it because it doesn’t stand in their way. It also means though that you HAVE to learn many things, e.g. how to configure a firewall, because it doesn’t come with any preinstalled by default. With Arch, the admin is supposed to know about everything and configure every component himself, at least on a somewhat basic level.

    • If you want to go to even more details, you could also try out a source-based distro like Gentoo or Crux, which can also be a great learning experience, but it’s even more details regarding compilations of each package, dependencies, compile-time options, etc. you have to deal with than with a minimalistic binary-package-based distro like Arch, so whether that’s useful for you or not is up to you of course.
    • While we’re at it: LFS (Linux from Scratch) is not a distro per se, it’s a guide on how to build your own distribution from scratch. It’s VERY time intensive and not recommended unless you truly want to learn how to build a complete distribution from scratch, or maybe start your own distro some day which isn’t based on another existing distro.


  • kyub@discuss.tchncs.detoLinux@lemmy.mlLinux is religion
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    9 months ago

    Well, it might seem that way sometimes. But in the end, what’s different to religion is that this is all rooted in facts. Facts which are quite abstract, so not everyone gets them and even those who do get them sometimes wonder whether it’s important or not sometimes. The thing is, Linux is at its core a neutral, open and free operating system, and it’s basically the only one which is advanced or mature enough to be a real competitor to let’s say Windows or MacOS. Of course it’s more than a competitor on the server, it’s basically the only relevant server operating system (Windows Server has a niche in application servers within a MS intranet domain, or to control Windows clients via policies, that’s about it, and MacOS server is already long dead I think). Of course, some of Linux’ success is because those same companies also contribute a lot to the development of Linux, because they need it for themselves as well. But that’s just one more thing which makes Linux a very unique thing. It’s like a neutral baseline for an operating system. Like a very capable OS core that everyone works on, even the competition works on it, because they also rely on it.

    That it’s open source and transparent and that anyone can use it or improve it or change it or whatever makes it special, because it’s not a commercial black-box product where you just consume it as-is and have zero rights whatsoever to do or change anything about it. That’s actually incredibly special in today’s commercialized landscape. Its open nature also means it can never die, only grow. And because it’s a proven good system which is also so very different compared to established desktop OSses, it can happen that its users or fans can seem somewhat religious towards it. But, again, compared to religion, religion is based on pure belief (otherwise it would be called fact). There’s nothing religious about Linux or open source software. It’s simply a special operating system, and not in a bad way at all. And closely related to it is, of course, the whole free/open source software movement. Which every user, even those of closed operating systems, can and do benefit from.

    And since today’s commercial software continues growing more and more user hostile (ads, spying, bloat, dark patterns, high prices/software rental models), it’s getting increasingly important to have at least the option of a true alternative. Even users who absolutely hate Linux and open source software should be glad that alternatives do exist, so that once the food they are being fed by Microsoft and so on doesn’t taste good anymore, they at least have an option to switch to something else entirely.




  • He’s obviously doing all of this to get less regulation, which in turn means more money and more power, more being able to do what he wants. Big corporations and rich businessmen will benefit from that short-term, but long-term we all suffer, because we’ll get a neo-nazi government and do even less against climate change.

    Even if we manage to prevent or at least overcome the neo-nazi government once people realize that’s not a good thing to have, nature will be standing right next in line to punish us really hard for being so goddamn stupid. History will not remember us fondly. Future survivors will think of our generation(s) as insane and/or stupid, when they learn that people willingly voted for entities which destroy the planet even more, and make living conditions for citizens even worse, despite knowing better way ahead of time (earth heating up is known since the 1970s or so, and the results of nazi-governments are also known very well), and despite having the internet as an easy means of global communication and coordination.




  • kyub@discuss.tchncs.detoGaming@beehaw.orgWhat happened to gaming?
    link
    fedilink
    English
    arrow-up
    19
    ·
    edit-2
    9 months ago

    There are a lot of phenomenal indie games. There also are still a couple of really good AAA games, but AAA gaming isn’t what it used to mean. In fact I’d be careful with AAA by default unless reviews state that the game is actually good. Ubisoft even tried to establish an “AAAA quality” game with Skulls & Bones or how it’s called and it’s a total flop.

    The real quality these days lies in indie games or (mostly) independent gaming studios. I think it’s kind of safe at this point to just assume by default that Bethesda, Microsoft, EA, Activision-Blizzard and so on simply cannot produce actual good games anymore (there may be some exceptions, but again, wait for independent reviews, and unless it was independently verified, don’t trust them to produce a good game).

    Another problem is the sheer mass of games flooding the market, because it means that true gems aren’t found so easily. But they exist. There’s no shortage of great games, you just have to look harder, and look in the right places.



  • Personal experience - I used some late version of Plasma 5.2x on desktop and now Plasma 6.x of course (always Wayland, generally always the latest stable version available), and Gnome (always Wayland, always the latest stable version) on my work notebook. I’ve never experienced any “serious” bug on Gnome, but I have experienced multiple on Plasma over that time period. I think the most “serious” bug I’ve had on Gnome was that the cursor was flipped upside down for a while until they fixed that (some time ago). While the most serious bug in KDE were multiple crashes in plasmashell since Plasma 6.x. (Meaning all your open apps got closed, I’d say that’s pretty serious for a bug). Another smaller bug, very recently, was that virtual desktops in KDE Plasma were named wrong and when I renamed them they didn’t get saved so it reverts to the wrong names (e.g. “Desktop 1”, “Desktop 3”, “Desktop 4”, “Desktop 4”). But it seems they fixed that with the latest update as well.

    Which is also why I’d like to keep it that way, Gnome for work and KDE where it’s not super important if plasmashell crashes or does some weird thing every once in a while. I think KDE is more prone to bugs because it’s simply more complex than Gnome. Gnome is quite minimalistic and doesn’t offer lots of features, KDE is a powerhouse desktop with literally tons of features, dwarfing probably every other desktop environment, at least in the available options for which a GUI exists to set them. Also, Gnome doesn’t support many advanced features like HDR (yet), while Plasma does. So the complexity in having all that stuff means Plasma must be more prone to bugs.

    So I view KDE Plasma as “slightly more buggy” than Gnome, still. Especially for dot-zero releases. But the KDE devs are also improving it all the time, so it might become more stable soon. But still, for personal use, KDE Plasma is “stable enough” despite those mentioned bugs, some of which were also fixed in the meantime. For example I didn’t have any more plasmashell crashes since they said that they fixed those causes. Which is why I’m using KDE Plasma 6.x for my personal machines. I like it more than Gnome, but when I want “100%” reliability for a DE, I’m still using Gnome. The main thing I dislike about Gnome isn’t actually its UI or design philosophy or even the limited GUI-based options it offers, but rather its philosophy regarding standards or compliance or making interoperability easier. The Gnome devs often do their own thing and don’t play that nice with others.


  • kyub@discuss.tchncs.detoPrivacy@lemmy.mlAnyone here use GrapheneOS??
    link
    fedilink
    English
    arrow-up
    22
    ·
    edit-2
    10 months ago

    Using it since many years on many Pixels and loving it.

    Main pros: zero bloat, efficient, highly secure and highly private (about as private and secure as it can get on any smartphone), and it’s an Android without any of Android’s typical weaknesses (privacy issues, bloat, etc.). You get to utilize the advantages of Google (its security) and completely avoid the disadvantages (its many privacy issues). You get to use all the advantages of an Android mobile OS while completely avoiding all of its disadvantages. It’s like getting your cake and eating it too. You’re much better off in terms of security and privacy than almost(?) all other smartphone users. According to leaked documents, Cellebrite for example can’t crack GrapheneOS on Pixels at all. They can crack almost any other smartphone if they have physical access to it. Most smartphones are really easy for them to crack. iPhones may pose some trouble depending on model/OS. And Graphene on Pixel is the literal brick wall. And even on top of that it has tons of great security features, like auto-reboot after X hours of inactivity, charge-only-mode for USB-C when locked, distress/duress PIN entry to immediately wipe the phone, many things like that. On the privacy side it’s looking great as well: Some folks have analyzed Graphene’s network traffic and there’s zero privacy issues from the OS or its built-in apps. And the few connections it does make (for updates and so on) are all documented and work exactly like they documented them, and they only transmit the exact least amount of necessary data without anything beyond that (guess what - that’s super rare). And on top of that there’s even more great privacy features, some of which are invisible but well thought-out, for example any SUPL request goes through a Graphene proxy server first (configurable) which strips all personally-identifiable data from the request and then redirects it to your provider’s SUPL server (which is most likely Google’s SUPL server in the end). I’m seriously impressed by the quality of the GrapheneOS project. Maybe you don’t realize how good and rare such things are nowadays. Also the documentation is very good and actually answers most of your questions and doesn’t contain any marketing blurb. The social media feeds and forums are a great source of info as well. On top of all that it’s even easy to install GrapheneOS.

    Main cons: it’s only available on Google Pixel phones, so if you truly despise Google and don’t want to buy or use anything from them, it’s not the right device/OS for you (or maybe buy it used?). However, the reason GrapheneOS is on Pixel is purely a technical one: Pixels do offer very high hardware based security already (probably the most, although iPhones have good hardware-based security as well. As is known, Apple tends to be produce good quality hardware, not quite so good software) as well as a very high degree of “platform neutrality”, i.e. it’s supported by Google to flash a different OS on it or use more advanced tools like adb without any sort of tinkering or unnecessary danger involved. Also you don’t have to register to unlock your phone or anything, you only need to be online once to enable the OEM unlocking feature (I think this is because Google needs your IMEI to check whether the phone is carrier-locked (cannot ever be OEM unlocked) or can be unlocked, and they will immediately receive some device data including the IMEI as soon as you go online with the preinstalled Android OS once [of course they will receive some more device data than just the IMEI]), so it’s best to not insert your SIM yet (and not do anything with the preinstalled OS) before you’ve installed GrapheneOS on your new Pixel. Do the OEM unlocking step on WiFi only, best on a public WiFi so Google has much less of a chance to identify you based on your IP or related data. Then install Graphene, then insert your SIM and start using your new phone. Other cons exist but they’re rare or pretty much irrelevant in daily use. If you have to hear them, read an older post by me about some potential downsides: https://discuss.tchncs.de/post/19867254/12069767




  • It depends. It’s viable if you just need a phone with several open source applications (non-Android) and are fine with that. But if you need Android app compatibility it’s probably going to be harder or more inconvenient to do, though I haven’t checked the status in recent time. And then there’s this evil thing called Google Play Integrity (essentially DRM restricting which apps can run on which OS) which is a problem even for non-proprietary Androids, so you probably won’t have any chance if you’re dependent on such an app (thankfully it’s rare but as we all know stupid ideas tend to become annoyingly popular).

    Main problem, as usual, is that Android and iOS have become such big and popular “platforms” for mobile apps that establishing a “third” platform for app developers is basically impossible (also remember what happened to Windows Phone OS, they were late to the market and failed spectacularly to catch up. Of course in this case it’s open source so it can grow regardless of user numbers, but still, it’s hard to catch up when lots of great Android apps were already developed specifically for Android). So you can only hope that Android app compatibility grows mature enough to be close to 100% compatible, so that you can also run almost all Android apps on your mainline Linux mobile OS. Then you’re not “limited” anymore. (At least if you consider it “limited” when you can’t run Android apps. Which most probably consider to be “limited”).

    So I think it’s less about the hardware and OS/UI (I think they work fine these days) and more about the available apps.

    [My main daily driver phone is a GrapheneOS (Android) and I have a Pinephone with Linux for playing around in WiFi at home only]