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

Slim down AppVM #209

Closed
marmarek opened this Issue Mar 8, 2015 · 5 comments

Comments

Projects
None yet
2 participants
@marmarek
Member

marmarek commented Mar 8, 2015

Reported by marmarek on 7 Apr 2011 23:15 UTC
There are lots of processes in AppVM: started by init (system services), xinit, qubes-session (/etc/xdg/autostart). They eats precious RAM and takes time on VM startup.
It should be reviewed and disabled unnecessary ones.

Migrated-From: https://wiki.qubes-os.org/ticket/209

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by joanna on 11 Apr 2011 13:12 UTC

Member

marmarek commented Mar 8, 2015

Modified by joanna on 11 Apr 2011 13:12 UTC

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by smoku on 12 Apr 2011 12:37 UTC

Member

marmarek commented Mar 8, 2015

Modified by smoku on 12 Apr 2011 12:37 UTC

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by smoku on 18 Apr 2011 22:34 UTC
Implemented in http://git.qubes-os.org/?p=smoku/core;a=commit;h=4a0d6b03c666bdcf8efe8ddf796cdfb158f226ff

The implemented rules:

  • CUPS and print-applet are started in AppVM and UtilityVM only (to be changed to UtilityVM only once we implement it).
  • gcm-apply is not started in DisposableVM for speed.
  • gnome-keyring-*, gnome-settings-daemon, user-dirs-update-gtk gsettings-data-convert are started in AppVM and StandaloneVM
  • gpk-update-icon is started in StandaloneVM and TemplateVM
  • nm-applet is started in NetVM only

Any objections?

"UtilityVM" is the working-name for the "red" VM that runs all kinds of stuff of insecure source.

We currently do not have a "StandaloneVM" type. Do we want to? It's used only in the update manager applet case so far.

Member

marmarek commented Mar 8, 2015

Comment by smoku on 18 Apr 2011 22:34 UTC
Implemented in http://git.qubes-os.org/?p=smoku/core;a=commit;h=4a0d6b03c666bdcf8efe8ddf796cdfb158f226ff

The implemented rules:

  • CUPS and print-applet are started in AppVM and UtilityVM only (to be changed to UtilityVM only once we implement it).
  • gcm-apply is not started in DisposableVM for speed.
  • gnome-keyring-*, gnome-settings-daemon, user-dirs-update-gtk gsettings-data-convert are started in AppVM and StandaloneVM
  • gpk-update-icon is started in StandaloneVM and TemplateVM
  • nm-applet is started in NetVM only

Any objections?

"UtilityVM" is the working-name for the "red" VM that runs all kinds of stuff of insecure source.

We currently do not have a "StandaloneVM" type. Do we want to? It's used only in the update manager applet case so far.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by marmarek on 18 Apr 2011 22:46 UTC
Some idea how to give user a chance to enable/disable services per-VM basis:
Read /etc/xdg/autostart/*.desktop and ~/.config/autostart/. For each file in the first one, load also user copy from ~/.config/autostart (if exists). Then check for OnlyShowIn, NotShowIn, Hidden etc.

This can be achieved by simple (wheel...) awk expression reading interesting variables and storing only last value.

Graphical setting tools disables session services by creating sevice file looking like this:

[entry](Desktop)
Hidden=true

But this has lower prio than original task. And maybe this is new, separate enhancement?

Member

marmarek commented Mar 8, 2015

Comment by marmarek on 18 Apr 2011 22:46 UTC
Some idea how to give user a chance to enable/disable services per-VM basis:
Read /etc/xdg/autostart/*.desktop and ~/.config/autostart/. For each file in the first one, load also user copy from ~/.config/autostart (if exists). Then check for OnlyShowIn, NotShowIn, Hidden etc.

This can be achieved by simple (wheel...) awk expression reading interesting variables and storing only last value.

Graphical setting tools disables session services by creating sevice file looking like this:

[entry](Desktop)
Hidden=true

But this has lower prio than original task. And maybe this is new, separate enhancement?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by smoku on 19 Apr 2011 23:09 UTC
Implemented in http://git.qubes-os.org/?p=smoku/core;a=commit;h=5001b7c9d71610ea9267a7b07c3625956f51978a and http://git.qubes-os.org/?p=smoku/gui;a=commit;h=299d850d1dbd9d5d8239ab56a2802dd4527aa10f

Removed support for StandaloneVM and UtilityVM.

Implemented support for ShowOnlyIn=UpdatableVM and NonUpdatableVM.

Implemented support for ~user XDG autostart files. They are merged with /etc/xdg/autostart.

Member

marmarek commented Mar 8, 2015

Comment by smoku on 19 Apr 2011 23:09 UTC
Implemented in http://git.qubes-os.org/?p=smoku/core;a=commit;h=5001b7c9d71610ea9267a7b07c3625956f51978a and http://git.qubes-os.org/?p=smoku/gui;a=commit;h=299d850d1dbd9d5d8239ab56a2802dd4527aa10f

Removed support for StandaloneVM and UtilityVM.

Implemented support for ShowOnlyIn=UpdatableVM and NonUpdatableVM.

Implemented support for ~user XDG autostart files. They are merged with /etc/xdg/autostart.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment