BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
2.01k stars 446 forks source link

[Feature] Option to disable autostart only the Manager #2414

Open adamradocz opened 6 years ago

adamradocz commented 6 years ago

Hi,

I'd appreciate an option to disable/enable autostarting the BOINC Manager. I have several machines which run BOINC, but I managed them remotely therefore the Manager uses unnecessary refources.

Moreover the current solution is misleading, because if I disable the "Run manager at login?", I assume the Client will work just fine in the background at startup, but it won't start. This situation is only on Windows, the Linux version works just fine without the Manager, which is the default option.

manager autostart
RichardHaselgrove commented 6 years ago

Autostart without a manager is effectively the same thing as 'install as a service'. When the Windows version of BOINC is installed in user mode, the installer sets the Manager to autorun at user logon: it's the Manager which starts the client, even if minimised and invisible. Are your remote machines being used by logged-in users? Unless somebody logs in, BOINC wouldn't start.

adamradocz commented 6 years ago

Yes, the machines being used by logged-in users. The problem with the "install as a service" method, that it can't run GPU based projects. But thanks, could be one solution.

RichardHaselgrove commented 6 years ago

That makes this a feature request for the Windows Installer, then.

Ageless93 commented 6 years ago

I'm not sure we want so many options available in the installer.

Simplest workaround is to start the client from the Startup directory. To do so:

  1. Click the Start button, click All Programs, right-click the Startup folder, and then click Open.
  2. Right-click in the newly opened directory, New, Shortcut.
  3. For location of the item, do "C:\Program Files\BOINC\boinc.exe" --detach_console (this includes the quote marks, because of the space in the path), Next
  4. Name it BOINC client, or something else you want.
  5. Click Finish.

Of course, if the BOINC programs directory is elsewhere, adjust the path. When it's in C:\Program Files or C:\Program Files (x86) it requires the quote marks around the path, as said, because of the space in the path. The --detach_console command closes the command line window.

If you do not want to show the client starting in the Startup directory (and therefore in the Startup folder under Start->All Programs), you can probably add it into the Windows registry instead.

  1. Use regedit.exe to open the registry.
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  3. Right-click, New, String Value, name it boinc.exe
  4. Modify this string, add as Value data "C:\Program Files\BOINC\boinc.exe" --detach_console, click OK
  5. Exit regedit.exe
adamradocz commented 6 years ago

This is exactly what I'm doing, and that's what I wanted to avoid. I agree that the installer is OK right now, I think the best option would be, if I uncheck the "Run manager at login?", the client still would started.

Ageless93 commented 6 years ago

But that's not what it's for. In Windows (and Mac OS) the client is started by the Manager, preferably at Windows login. That's to make it easy for users who don't (want to) know how these things start/run. They only have to start BOINC Manager and magically the rest starts as well, they don't need knowledge of a client, or scheduler, or work fetch or even how it all communicates back and forth.

So when you uncheck "Run Manager at login?" BOINC won't start. No Manager, no BOINC. Having said that, the upcoming BOINC 7.10 (being tested via 7.9.x versions) already has the separation Manager and client in the Options->Other options. It has "Run Manager at login?" and "Run the client?". Although this is more one where you can uncheck it, exit BOINC completely, then restart BOINC Manager and it'll only run the manager, not the client.

If we're to change the behaviour of "Run the Manager at login?" so that when unchecked the client still runs, this would confuse a lot of users who now use it to start BOINC at a time chosen by them, and not at login. If we're to add "Run the client at login?", it starts to get really confusing. I already dislike the "Run the client?" option there.

We can flag this conversation for the BOINC work group though, and ask that people chime in what they like to see done.

I feel that BOINC being started without any visible program should not be an option, unless specifically set up as a service (where you expect that), or by doing it manually. This because a lot of our users don't know how things work on their computers, and we shouldn't make it more difficult for them to follow. While those that do have a grasp of what happens, should be the ones working with app_info.xml, app_config.xml and manual start-up workarounds like this.

adamradocz commented 6 years ago

OK, I'm convinced, you're right. In that case, I totally agree that the "Run the client" option is unnecessary and confusing. I don't see any scenario when I want to run the Manager but not the client. Plus, the linux build is inconsistent and it should work like the Win or Mac build and autostart the manager at startup.

RichardHaselgrove commented 6 years ago

Background: the 'run the client' checkbox was added as a result of an extremely old user request to do exactly that - run the Manager, but not the Client. It's issue #79, which dates from June 2006. It's actually to support exactly what you're doing - managing remote computers - but designed for the local managing computer, rather than the remote managed clients.

Given that computers have become much more powerful in the intervening 12 years, and that other management tools like BoincTasks have become available in the meantime, it's arguable that this was an idea whose time came, and went again, while it was waiting in the queue.

Or perhaps it foreshadowed the widespread use of low-power devices like tablets as management tools?

tristanolive commented 6 years ago

I could see this being part of the Windows installer, but maybe as a command line property only, so as not to clutter the graphical installer interface?