Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Catch 22" in DietPi-Software for Browser and Desktop #4914

Closed
kerryland opened this issue Oct 30, 2021 · 13 comments · Fixed by #4920 or #4965
Closed

"Catch 22" in DietPi-Software for Browser and Desktop #4914

kerryland opened this issue Oct 30, 2021 · 13 comments · Fixed by #4920 or #4965

Comments

@kerryland
Copy link

kerryland commented Oct 30, 2021

Required Information

DietPi version | 7.7.3
Distro version | bullseye 0
Kernel version | Linux blackbox 5.10.63-v8+ 1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux
SBC model | RPi 4 Model B (aarch64)
Power supply used | (5V 1A Official PI Power supply)
SDcard used | (Panasonic)

Additional Information (if applicable)

  • Software title | DietPi-Software
  • Was the software title installed freshly or updated/migrated? Freshly installed
  • Can this issue be replicated on a fresh installation of DietPi? This is a fresh install

Steps to reproduce

  1. Think "I wonder how this Raspberry Pi 4 runs a desktop"
  2. Start dietpi-software
  3. Set "Desktop Preference" to xfce, and see it will be installed (only) when another selected software requires any desktop.
  4. Set "Browser Preference" to Chromium, and see it will be installed (only) when a desktop is installed.
  5. Click "Install" and be told "No changes have been detected. Unable to start installation"

Nothing happens.

Expected behaviour

When I click Install the system should notice that I have requested a browser, and a desktop, and so install them.

Actual behaviour

Nothing. There is no obvious way to start a web browser in a desktop GUI

Extra details

The work around is to go into "Browse Software" and select the Desktop environment and browser that you want. Interestingly, I see a category called "Desktop Utilities" which I guess are all the software that requires a desktop. There are 5 items only the list, and two are Browsers, so are these the only things that will trigger the use of "Desktop Preference"?

@Joulinar
Copy link
Collaborator

I guess a misunderstanding. Just setting the preference will not install anything automatically, as it is a preference setting only. It will be installed once another software require it, like a VNC server. Or if you select it actively.

@kerryland
Copy link
Author

I'm a first time user, so I'm going to encounter problems that experienced users won't.

According to my understanding, a "preference" is a thing I'd like to use, although I'd be happy with something else if it isn't available. Maybe "preference" is a poor choice of wording.

A "default" is something that will be used unless I choose something else, so may I suggest that "Desktop Preference" and "Browser Preference" become "Desktop Default" and "Browser Default" instead?

I guess it doesn't matter much. I just found it a weird user experience.

@kerryland
Copy link
Author

I don't understand when "Browser Preference" would be used. Do you automatically install it when a desktop is installed? Is it used for anything else? Seems odd, but again, I'm a complete newbie.

I will leave you alone now.

@Joulinar
Copy link
Collaborator

If you install a desktop, you could choose the browser using browser preference. It could be chromium, Firefox or none.

@MichaIng
Copy link
Owner

Did you read the text(s) given in the menu?

Please select your preferred webserver, which will be installed (only) when another selected software requires any webserver:

Please select your preferred desktop environment, which will be installed (only) when another selected software requires any desktop:

Please select your preferred web browser, which will be installed (only) when a desktop is installed:

If you have a suggestion to make this clearer, that would be great. As opposed to the file server and SSH server "choices" this is indeed only used when another software title pulls a webserver/desktop/browser in as dependency, and yes browsers are as stated pulled in by desktops only currently.

@kerryland
Copy link
Author

I did read the text(s) in the menu. I even referenced them in the "steps to reproduce" :-)

How about this alternative wording:

"Which webserver should be installed if you download software that requires a webserver. e.g. ?????"

"Which desktop environment should be installed if you download software that requires a desktop. e.g. vnc"

"Which web browser should be installed if you download software that requires a browser e.g. LXDE or Xfce"

@MichaIng
Copy link
Owner

MichaIng commented Oct 31, 2021

I did read the text(s) in the menu. I even referenced them in the "steps to reproduce" :-)

Ah yes, so looks like they are not clear enough for everyone. Actually I like your idea to turn them into questions. I would replace "download" with "install", but otherwise to me it indeed looks clearer than the current sentences with the (only) inside. @Joulinar do you agree to change them that way? I mean it's not the first time this question/confusion arises, was present for the webserver preference for ages and recently we added two other preferences.

@Joulinar
Copy link
Collaborator

Fine with me @MichaIng

@kerryland
Copy link
Author

I would replace "download" with "install", but otherwise to me it indeed looks clearer than the current sentences with the (only) inside.

Except that my first attempt at new wording loses the meaning behind that "only". Here's another version that tries to replicate the "only":

"If you install software (eg: vnc) that requires a desktop environment, and none is installed, which desktop should we install for you?"

@MichaIng
Copy link
Owner

MichaIng commented Nov 2, 2021

Found the "No session for PID" error, which is indeed a Bullseye-only problem: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864402
WhitewaterFoundry/Pengwin#429

As a workaround we will now unset the default polkit entry from the global lxsession configuration on Bullseye. I also found a way to set the desktop icon shadow and wallpaper/mode via global config file, so we'll do this now instead of restarting PCManFM on first login.

@MichaIng MichaIng added this to the v7.8 milestone Nov 2, 2021
@MichaIng MichaIng linked a pull request Nov 2, 2021 that will close this issue
1 task
@MichaIng
Copy link
Owner

MichaIng commented Nov 2, 2021

PR up to fix the two issues: #4920
Also we do not override the whole default PCManFM and Openbox config files anymore but only apply the few settings to the existing one. This should generally enhance compatibility and also prevents manual customisations. Only for the lxpanel we override the default completely, as there is too much changed.

@MichaIng
Copy link
Owner

MichaIng commented Nov 8, 2021

I'll mark this as closed as of the fixes which are now in beta. Feel free to reopen when required.

@MichaIng MichaIng closed this as completed Nov 8, 2021
@MichaIng MichaIng mentioned this issue Nov 13, 2021
MichaIng added a commit that referenced this issue Nov 27, 2021
+ DietPi-Software | When using a CLI reinstall, skip the conflicts loop to assure that no software is marked as uninstalled which was previously installed already. As the conflict system is new, it is possible that conflicting software is installed already, and probably it is well configured, like one webserver as proxy on port 443 and another one internally on a different port. As a general rule: We do not unmark software which is installed already, and the CLI reinstall can only reinstall software that is installed already.
+ DietPi-Software | Tune preference system texts to be hopefully better understandable: #4914 (comment)
@MichaIng MichaIng linked a pull request Nov 27, 2021 that will close this issue
8 tasks
@MichaIng
Copy link
Owner

@kerryland
We forgot about the preference texts with last release. I now changed them for DietPi v7.9: a9c586f
It is close to your first suggestions. I like those most as they are short and clear (I hope).

MichaIng added a commit that referenced this issue Nov 27, 2021
+ DietPi-Software | General internal cleanup of the choice system
+ DietPi-Software | Remove UNINSTALL_REQUIRED variable and instead check for any actual "-1" mark to trigger the Uninstall_Software function call for CLI and after installs. Also the uninstall menu code has been simplified, getting rid of of another flag variable in favour of checking whether any software has been added to the anyway created G_WHIP array.
+ DietPi-Software | If due to choice changes only uninstalls are done and it is not the first run setup, skip the install function and call the uninstall function directly.
+ DietPi-Software | Remove abortion banner: No need to erase the console, especially when no changes have been applied. Also the function contained a 1st run abort (short version) banner which was never used, as aborting DietPi-Software on first run setup was prevented in the first place, reasonably, to have all setup steps done regardless of actual software selections.
+ DietPi-Software | Adjust logging choice index on Rsyslog and DietPi-RAMlog installs and uninstalls. Generally assure that RAMlog index stays active as long as /var/log is still a tmpfs, to rule out filled tmpfs until reboot. On DietPi-RAMlog uninstall, the logging index will be adjusted by the service which does the actual disabling on next reboot.
+ DietPi-Software | Merge webserver preference index variables, prevent preference choice if a webserver is installed already, apply choices immediately (persistent without doing an actual install) and adjust index on webserver uninstalls.
+ DietPi-Software | Merge desktop preference index variables, prevent preference choice if a desktop is installed already, apply choices immediately (persistent without doing an actual install) and adjust index on desktop uninstalls.
+ DietPi-Software | Merge browser preference index variables, prevent preference choice if a browser is installed already, apply choices immediately (persistent without doing an actual install) and adjust index on browser uninstalls.
+ DietPi-Software | Remove file server choice setting from dietpi.txt, but keep code to apply the choice to be backwards compatible with current/old images.
+ DietPi-Software | Remove the File Server selection menu. There is no reason to treat file servers any different than other software titles, they are no dependencies, do not generally conflict with each other and do not affect other installs.
+ DietPi-Software | Fallback to correct default when resolving dependencies. This is done already in parent functions but it doesn't hurt to do this as well in the final function.
+ DietPi-Software | Update webserver stack meta install states right before writing the installed states file. This assures that those always represent the actual webserver and database install states after every install or uninstall.
+ DietPi-Software | Implement a new conflict system which allows to consistently unmark and warn users about conflicting software selections, when doing this interactively from the menus as well as when installing via CLI
+ DietPi-Software | Reorder install steps so that unmarks are done first, and the install is aborted if no marks are left, and required directories only after successfully network check + time sync + APT
+ DietPi-Software | Do not warn or recommend to leave webserver stacks unmarked to be auto-selected as dependency. There is absolutely no problem when users do this manually. It is not required (as long as the webserver stack is not wanted as standalone installation) but the additional step has been done already, so the warning is pointless. The new conflict system additionally prevents and warns about conflicts, if this was one of the reasons behind the warning.
+ DietPi-Software | Remove the flag for software which requires automated APT upgrades. Keeping APT packages updates is generally and always recommended, if there is time for the maintenance, and there is no reason why this would be more important when using a VPN server or Tor compared to e.g. hosting personal data via webserver or similar.
+ DietPi-Software | Consequently loop through aSOFTWARE_NAME instead of aSOFTWARE_INSTALL_STATE keys to not handle install states of software which is not defined anymore, e.g. a forgotten install state while the related software title has been removed with a recent DietPi release. There is an install state assigned in every case as part of the array creation.
+ DietPi-Software | Do not show webserver stacks in uninstall menu: Their install states will be aligned with webserver/database install states automatically.
+ DietPi-Software | Tune preference system texts to be hopefully better understandable: #4914 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants