GalliumOS / galliumos-distro

Docs, issues, and artwork sources for GalliumOS
https://galliumos.org/
GNU General Public License v2.0
348 stars 11 forks source link

GalliumOS 3.0: Package Selection #427

Open reynhout opened 6 years ago

reynhout commented 6 years ago

GalliumOS 3.0: Package Selection

GalliumOS is defined by the packages we select for inclusion into the default install (and our visual design!).

We aim for a good baseline of useful and efficient default apps, so that first-time users can get going quickly, while more experienced users can customize their systems to perfection.

Are there new software packages we should add, old ones we should remove, or better options to replace the choices from 2.0?

Some criteria for package inclusion:

Examples (opinions are mine only!):

...and so on.

kakalak-lumberJack commented 6 years ago

I would suggest App Grid or any sensible software installer that provides a more friendly/attractive option for exploring and installing packages, especially for those who are new to Linux and may have no idea what is available.. I"m not sure how easy this app would be to customize to weed out any packages which might not work well on Gallium, but I have been using it, mainly for app discovery for several months on Gallium with no issues. FYI, even if it is not included it is easy to install via PPA.

therealmandusa commented 6 years ago

I know I found myself struggling with being able to connect to a VPN. Between that and setting up an RDP client, I was challenged around having it also function as my main computer.

I know GalliumOS is geared to be a lot lighter, but I know it's something I would benefit from. (I acknowledge if I am a fringe case.)

detjensrobert commented 6 years ago

I have no use for Hexchat or Pidgin. IRC networks are on the decline, so perhaps remove? exfat-utils, exfat-fuse, and ntfs-3g would also be good to include for NTFS thumb drives.

reynhout commented 6 years ago

@detjensrobert HexChat is the non-obvious single-click gateway to the GalliumOS IRC, so it does have some inertia behind it. This is undoubtably influenced by discussions thereon. :)

Pidgin is a multiprotocol IM client. I guess everyone's on Facebook now? I don't use Pidgin either (nor HexChat, but I'm a TUI junkie -- weechat ftw!) so I don't have a good sense of its value.

mkjeller commented 6 years ago

I recently tried out elementaryOS on my C720, and I have to say, it ran beautifully! Very low footprint and minimal resource usage! However the lack of Chromebook customisations made it unusable and I was not about to dump the time and effort into doing it manually when GalliumOS has already done it. I looked into adding the Pantheon desktop environment to Gallium and it worked, but the experience was poor. Any thoughts on adding either a DE selector on install for things like Pantheon or as @jdeorean mentioned in https://github.com/GalliumOS/galliumos-distro/issues/430 things like i3

divx118 commented 6 years ago

I prefer a bare OS, so no packages preinstalled when I need something I install it myself. Like irc which I use a lot, but don't need a client, because I already have an irc bouncer and webclient server running on my NAS. That said people have all different needs. I can imagine that people that aren't very familiar with linux prefer to have packages preinstalled. @reynhout isn't it possible to add a flag to prevent installing the extra packages when installing galliumos?

evrardjp commented 6 years ago

I'd like to join @divx118 here, and don't add extra packages.

If you are thinking of having convenience, I guess you have two choices: 1) ship those extra as meta package groups and have a proper documentation. 2) Make these extra packages opt-in during installation in the installation scripts.

evrardjp commented 6 years ago

I'd probably add the necessary toolkit for installing more apps, like snaps. And have git. But at the end I am pretty sure I'd prefer having everything optional :p

MinevidOld commented 6 years ago

@divx118 mind to tag the right one next time :P

kstenerud commented 6 years ago

Budgie desktop would be very nice for chromebooks. Modern, not too heavy, and it gets out of your way.

dsifriend commented 6 years ago

As others have said, Budgie Desktop should be considered as an alternative to xfce. It fits the same niche as xfce (lightweight but not totaly impractical) while IMO still looking better. That's just my opinion though.

In practical terms however, I have only one qualm with the current package selection and that is the default terminal. PLEASE package in a full-color or 256-color terminal as the default. I believe more up-to-date versions of the one currently in use have color support too, so you could keep that even, but please be sure to package an updated version then. i need my Vim themes and syntax highlighting.

reynhout commented 6 years ago

@dsifriend Budgie is not, in my experience, lightweight. I suppose I should re-test it.

The default terminal is 256-color. xfce4-terminal, launched from the launcher in the system tray. Which terminal are you using?? :)

dsifriend commented 6 years ago

@reynhout I started out with xfce4-terminal like you mentioned and xterm, since they were both installed by default, but I could never get either of them to work in 256-color mode. When i looked into it back then, it seemed 256-color support was added in a later version than the one installed with Gallium and trying to install said newer versions just caused me dependency issues for days, so I resorted to installing gnome-terminal, which did colors without a hitch, and i just sort of forgot about it until now.

reynhout commented 6 years ago

@dsifriend Hm, I don't recall that issue even in the earliest pre-1.0 GalliumOSes. I depend on 256-color highlighting as well. Maybe I noticed it, fixed it, and forgot about it, but it would have been long ago. :)

colpanek commented 6 years ago

Thunar has no search function? So it's like a car without an engine. Nautilus, or Dolphin, please.

KharmaScribbles commented 6 years ago

I am/was brand new to Linux and actually thought there was way too much installed already. I installed similar programs to many of the programs that were pre-installed mostly due to not realizing I had a package installed already.

When I want a program I usually research in search engines then decide which one I want to use, and many of the times it wasn't one pre-installed.

Also, now that I've had some experience I prefer CLI based options, so many of my GUI programs just sit and rot.

Standard CLI command packages are fine but even then, if I find one I don't have I just apt install the package name.

One of the problems I've found is when I want to downgrade any bloat, looking through the package manager I'm not quite sure which programs I can safely un-install in case they are used as part of a Chromebook hack or if something else depends on it.

I'd rather have it installed fresh and clean, something like what I get when I install the operating system on a VPN.

detjensrobert commented 6 years ago

Including xfce4-goodies for the panel widgets and Thunar plugins might be something to consider.

Eduardo06sp commented 6 years ago

As a noob, the only part of GalliumOS that threw me off is xscreensaver.

I have no idea what alternatives there are, but that straight up reminds me of Windows XP. :innocent:

flantel commented 6 years ago

I agree with @Eduardo06sp regarding xscreensaver. It definitely tarnishes the otherwise polished experience!

I replaced it with the i3lock using a variation the hack HERE but that might be a bit minimal for noobs, although that could be addressed by a custom image for the lock screen.

ghost commented 6 years ago

I think this:

mpv (gnome-mpv) replace vlc audacious replace deadbeaf firefox replace chromium sxiv repleace Ristretto

evrardjp commented 6 years ago

I think this conversation will end up with a very opiniated set of packages per user. I am not sure if this will help to take the decisions of what packages to include.

Maybe the way to fix this is to propose packages sets for alternatives. For example, providing 2 meta packages: multimedia and multimedia-alt, one with vlc+deadbeaf, the other mpv + audacious (these are just examples). Other example would be browser and browser-alt, one with chromium, one with firefox.

Then propose to install those packages during install. This would allow people to NOT install any of those if they want, but still have the ease of use for installing them (and have the non -alt packages installed by default).

reynhout commented 6 years ago

@evrardjp Don't worry, we have fairly clear criteria for default package selection. The default install prioritizes efficiency and usability, with concessions where necessary. That will not change.

We're not looking to overcomplicate things, just to get some opinions on Really Good Reasons to make substitutions or additions.

Some choices would be impossible to reach consensus on, but that's not the goal. Anyone with strong preferences is encouraged to learn apt.

And any pkgs discussed here that are not incorporated will serve as suggestions for consideration post-install. So it's all useful.

evrardjp commented 6 years ago

Maybe worth editing first message to clarify this.

reynhout commented 6 years ago

@evrardjp I'm not seeing the confusion, can you explain?

evrardjp commented 6 years ago

Re-reading your comment with the first message made it clear for me, sorry for the confusion there.

johanson commented 6 years ago

What is the reason behind having xscreensaver if xfce4-power-manager does the work and can also used to lock screen?

colpanek commented 6 years ago

I think Ubuntu has the right idea when they have a minimum install option, and nice app stores. After all, you're not going to have noobs installing an operating system, and most people should be able to research and install the apps they want.

ghost commented 6 years ago

I would like to recommend mpv as a replacement for VLC. https://mpv.io/

It's an incredibly versatile media player that keeps things as simple as possible. It's also considerably faster than VLC in my experience. My Chromebook has little to no problem decoding HEVC in mpv but VLC seems to struggle with it a little bit.

kstenerud commented 6 years ago

What would be nice is a "minimal" GalliumOS that includes just a few essentials similar to what you got on Windows XP, and then an opinionated set of apps for the "full" GalliumOS experience. That gives casual users a good selection of apps, and also allows power users to get a base, stripped down OS for their own customization.

ghost commented 6 years ago

What you think about a version, like Ubuntu Server, where only a minimum packages are installed, without DE or WM.

kstenerud commented 6 years ago

GalliumOS is a Chromebook OS, so a version with no WM doesn't really make too much sense in that respect. What is needed is a minimal graphical OS that contains all the tweaks, keyboard functions and battery saving features that Chromebook users would want, and then build on top of that.

The most robust systems start with a minimal layer for their own baseline and for the 10% crowd, plus an opinionated higher level layer that caters to the 90% crowd who aren't interested in ever seeing what the sausage is made of.

kakalak-lumberJack commented 6 years ago

While I agree a minimal install option or separate .iso would be nice to have for more experienced users, I would like to just point out what I suspect is probably a more common view than will be represented on Github.

As more Chromebooks are being used in schools and are becoming more popular with android integration and such, GalliumOS is and increasingly will be an entry point to the world of Linux for many people. It seems clear from Gallium's current state, that this point is not lost on the devs, but I think it is still worth noting that there is value in providing a sensible, moderate amount of packages that represent what an average new Linux user might need. Also, keeping the installation process and simple and painless as possible should be a priority.

In addition, it maybe worthwhile to consider some sort of educational software package guide in the documentation or even a special installation version that includes a few more packages relevant to students/teachers. I think Gallium has a lot potential to grow its user base in this area and have substantial of impact on new/future Linux users.

claviger-pc commented 6 years ago

lumberJack brings up a good point: how is GalliumOS to be conceived? Is it for devs and tinkerers, like most of us actively involved, or is it a real alternative for the average user with a Chromebook looking to expand the possibilities? Maybe it is worth something of a survey of questions. What direction should Gallium take, who is using it, what for, etc. Also, if many of the patches have been upstreamed, what is the real need and niche of GaOS? What should be the focus point of further development? I am writing this on KDE Neon on Lulu, and, honestly, the experience is as good or better than Gallium. I still have Gallium, and am use it. Much of the situation depends on MrChromebox's work, and the upstreaming of patches. But we should talk about these things and argue them out.

kstenerud commented 6 years ago

A good out-of-box experience is why I was arguing in favor of budgie, as it's simple, well integrated, and tends to just get out of your way (and also difficult to mess up so badly that you're better off reinstalling than fixing). The 90% userbase (the ones better off with an opinionated OS and app collection) is the primary focus, but if you build it as a minimal graphical OS and then have a set of standardized app packages that get applied on top of that, you have good separation between the essentials and the opinionated part (for when the distro team inevitably decides to swap in/out apps in future). And at the same time it gives us power users something to play with.

Chromebook support isn't fully mainlined yet, so GalliumOS is still the best option. That could change in future, at which point GalliumOS will need to decide what its identity is. Should it be the "intro" distro for using in schools and for people migrating to Linux, something robust and repairable (so that you can rebuild to wipe out your mistakes without losing your data)? Where should the focus be once the main Chromebook concerns have all been mainstreamed?

ghost commented 6 years ago

Just chiming in once again. GalliumOS has always recognized itself as a project that helps people get into Linux. It is very common for us to see users who are using Linux for the first time trying out GalliumOS on their Chromebook because they want something more powerful than ChromeOS. For that reason, I think it's important to remain a full fat distro with a good selection of common software out of the box. That said, we do also try to cater to power users, so the idea of a minimalized version of the OS that includes just the basics and lets users decide what else to install also sounds like a good idea to me, we just need to go out of our way to make sure it doesn't overshadow the main OS. Maybe treat it as a seperate distro with it's own website, GalliumOS Lite or something of the sort. I also think this is a good idea because it doesn't sound like that much additional effort to get off the ground, unlike the idea of a different DE or WM, or a different base distribution to replace Ubuntu. Also please note that we have no intentions at the current time of changing anything about the core GalliumOS experience. It will still be based on Ubuntu, and it will still use Xfce. This is not up for debate with the release of 3.0, maybe next time around.

Morlok8k commented 6 years ago

I think the following should be preinstalled: Seahorse (Passwords and keys - specifically for the stupid keyring glitch with Chrome) Libre Office Synaptic GIMP Firefox

reynhout commented 6 years ago

Summarizing the above ideas, and adding my comments:

NOTES

Re: GalliumOS identity...

GalliumOS is focused on functional, usable, simple, efficiency. Not minimalism, per se, but the RAM and storage constraints of most Chromebook hardware certainly favor careful limitation of unnecessary adds.

If GalliumOS is to have an identity beyond "works on Chromebooks", and one that persists after Chromebook hardware support is available in mainline kernels and mainstream distros, that differentiation of focus -- f,u,s,e -- is the only one that has any value to me, personally.

But remember, we're not competing with any other distro (or ChromeOS!), at all! We expect all of our fixes to be upstreamed or copied into mainstream distros. Some of the changes we ship are experimental kernel patches that are already destined for mainline -- we just ship them a few months before everyone else.

If all hardware compatibility issues were to become non-issues overnight, then I'd say that GalliumOS had succeeded! If people switched to other distros -- for favored DEs, for a richer default install experience, for a friendlier dev team, etc -- that'd be totally cool with me.

With that said, the Linux distro I want doesn't exist, but GalliumOS comes closer than any other. I say that without regard to compatibility with ChromeOS hardware. If someone wants to take GalliumOS in new directions for different specialized markets, I would be happy to support, and can offer some advice.

kstenerud commented 6 years ago

Actually, I'd be fine staying with xfce for now, except for one major issue:

The window borders are 1px wide, which makes it impossible to resize anything without the alt-rightmouse-drag trick. That's not a huge problem when you're using a mouse, but with a touch pad, you must do alt, two fingers down, start to drag with one of the two fingers, lift one finger, then "continue" the drag with a single finger, all without accidentally lifting off the touchpad, and without hitting the edge of the touchpad. For people coming from modern operating systems, this is a major pain point.

reynhout commented 6 years ago

@kstenerud Agreed. I added some notes in response to your comment over on #430.

nbastin commented 6 years ago

@kstenerud you can change the border width in the theme you are using by modifying the values in the bottom-active, left-active, and right-active .xpm files.

evrardjp commented 6 years ago

@reynhout I agree with your analysis. git is indeed what I considered an optional package.

kstenerud commented 6 years ago

@nbastin That's what everyone says, and it was the first thing I tried, but unfortunately it doesn't work. Increasing the width and/or height in those xpms has no effect, even after a reboot.

claviger-pc commented 6 years ago

Add file search (Dolphin, Nautilus) (@colpanek ) @reynhout This comes up occasionally. dolphin requires 243MB of additional dependencies, so is easy to reject. nautilus requires just 9MB. Also there's xfce4-linelight-plugin which adds search to the system tray and weighs in at 0.3MB. I don't use any of them, but I'll test the latter two...anyone interested, please do also!

I would suggest considering this solution, using catfish with the Whisker menu, it works wonderfully, or we could just make a Wiki page and encourage people to install it themselves, and explore the possibilities of the Whisker menu.

reynhout commented 6 years ago

@claviger-pc catfish adds 1.0MB to the build, so that's great.

Any of these three (catfish, nautilus, and xfce4-linelight-plugin) would probably be fine, so it's just a matter of comparing them functionally.

Another recommendation is fsearch: http://www.fsearch.org/ , which I have not looked at yet.

One thing to watch out for with fast search tools is that most of them build indexed databases to do the job. Not sure how large these will grow -- if done carefully, not necessarily very large. But it's worth checking. Catfish appears to use mlocate for this purpose, which is reasonably well-behaved.

dsifriend commented 6 years ago

I second the suggestion to include catfish

mookerific commented 6 years ago

@reynhout, though you note that adding a VPN is out of scope, I do think some means of guiding a user through the process of installing some sort of VPN option, be it OpenVPN or otherwise, would be extremely helpful. The use of VPNs are ever-increasing and, as an introductory OS in many ways, GalliumOS would be doing a great service in facilitating this configuration for new users.

Eduardo06sp commented 6 years ago

@reynhout I like what @flantel suggested, i3lock, and he included a tutorial as well, although I don't like tinkering too much because then things break :}

https://axel668.wordpress.com/2014/01/02/how-to-replace-xscreensaver-with-i3lock-in-manjaro-xfce/

nbastin commented 6 years ago

@Eduardo06sp xscreensaver takes less than 5MB of resident memory - I dunno what i3lock takes, but that should be the place we start, I think. These machines have limited memory, sucking up more than necessary to make your screensaver look pretty seems like the wrong option (at least by default).

@mookerific What about some kind of "Feature Installation Wizard", that you could go into, select VPN/Browser/Screensaver/Audio-Player/etc. and it would give you options that were easy to understand and handle all the installation and configuration? This could get out of control, so maybe not great, but perhaps think of it as a curated App Store that also knew how to properly configure things?

reynhout commented 6 years ago

@nbastin By my measurements, i3lock, with an image background of 43KB clocks in at 17MB when locked but idle, 20-25MB while you're typing your password.

i3lock with a color setting for the background measures 1MB idle, up to 8MB when typing.

There are fancier versions of i3lock as well, 29MB idle with the same background, 50-96MB while typing...!

I also measured xscreensaver for comparison: 4MB at all times (not just when locked), peaking at 5.3MB when entering password.

So, with a color bg setting, i3lock is competitive on that score. The bigger issue, and why we passed on it last time this discussion came up, is that the UI is non-obvious for new users (or for anyone, the first time). IMO it needs to: show some indication that it's running but idle, and respond in some way when the user presses a modifier key, e.g. Shift, with the intention of waking the system/confirming the screenlock status, but not yet beginning to enter your password. There's an option to allow Enter with a blank password buffer to not send the empty string to PAM for verification. That's a start, but seems like not enough. Also the keypress feedback of lighting portions of a circle perimeter is unfamiliar at best. It's fine, but with no other cues for new users it's pretty baffling.

reynhout commented 6 years ago

@mookerific Would a VPN setup tutorial on the wiki address that need?