{"action":"created","issue":{"url":"https://api.github.com/repos/systemd/systemd/issues/2607","repository_url":"https://api.github.com/repos/systemd/systemd","labels_url":"https://api.github.com/repos/systemd/systemd/issues/2607/labels{/name}","comments_url":"https://api.github.com/repos/systemd/systemd/issues/2607/comments","events_url":"https://api.github.com/repos/systemd/systemd/issues/2607/events","html_url":"https://github.com/systemd/systemd/issues/2607","id":133451943,"number":2607,"title":"softer version of `systemctl isolate`?","user":{"login":"keszybz","id":349618,"avatar_url":"https://avatars.githubusercontent.com/u/349618?v=3","gravatar_id":"","url":"https://api.github.com/users/keszybz","html_url":"https://github.com/keszybz","followers_url":"https://api.github.com/users/keszybz/followers","following_url":"https://api.github.com/users/keszybz/following{/other_user}","gists_url":"https://api.github.com/users/keszybz/gists{/gist_id}","starred_url":"https://api.github.com/users/keszybz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keszybz/subscriptions","organizations_url":"https://api.github.com/users/keszybz/orgs","repos_url":"https://api.github.com/users/keszybz/repos","events_url":"https://api.github.com/users/keszybz/events{/privacy}","received_events_url":"https://api.github.com/users/keszybz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/systemd/systemd/labels/RFE","name":"RFE","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-13T17:36:06Z","updated_at":"2016-02-15T12:57:07Z","closed_at":null,"body":"From https://bugzilla.redhat.com/show_bug.cgi?id=708537#c3:\r\n\r\n------&<---------\r\n'init 5' translates into 'systemctl isolate graphical.target'.\r\nIsolate does more than people expect:\r\n - Services that are not obviously pulled in by the new target will be killed.\r\n   This includes services that are usually loaded on-demand, including\r\n   the stdout-syslog-bridge, which the processes connected to it won't like.\r\n   The getty units are also affected by this now that they're autospawned.\r\n - Oneshot units that have completed successfully before, but don't have\r\n   RemainAfterExit=yes, will be re-run again. This can affect the plymouth\r\n   problem.\r\n\r\nSo the isolate action is brutal and not really what's expected from runlevel switching. We should not fix isolate, because it is useful in itself, but there should be a new action, say `systemctl approach $foo.target`. systemd would remember the last approached target and when asked to approach another one, it would compare the set C of units pulled by the current target with the set N of units pulled by the new target. It would stop only units in C-N, it would start units in N-C.\r\nIt is obvious that switching from runlevel 5 to 5 would then be a NOP.\r\n------>&---------\r\n\r\nSomething like this would be useful, not only in the context of switching runlevels, but generally in the context of switching or updating targets. OTOH, maybe the complexity is not worth the trouble."},"comment":{"url":"https://api.github.com/repos/systemd/systemd/issues/comments/184195910","html_url":"https://github.com/systemd/systemd/issues/2607#issuecomment-184195910","issue_url":"https://api.github.com/repos/systemd/systemd/issues/2607","id":184195910,"user":{"login":"poettering","id":2130732,"avatar_url":"https://avatars.githubusercontent.com/u/2130732?v=3","gravatar_id":"","url":"https://api.github.com/users/poettering","html_url":"https://github.com/poettering","followers_url":"https://api.github.com/users/poettering/followers","following_url":"https://api.github.com/users/poettering/following{/other_user}","gists_url":"https://api.github.com/users/poettering/gists{/gist_id}","starred_url":"https://api.github.com/users/poettering/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poettering/subscriptions","organizations_url":"https://api.github.com/users/poettering/orgs","repos_url":"https://api.github.com/users/poettering/repos","events_url":"https://api.github.com/users/poettering/events{/privacy}","received_events_url":"https://api.github.com/users/poettering/received_events","type":"User","site_admin":false},"created_at":"2016-02-15T12:57:07Z","updated_at":"2016-02-15T12:57:07Z","body":"I am pretty sure the request is kinda outdated... it alks about stdout-syslog-bridge, which is super-*ancient*. It also claims we'd stop gettys on isolate, which we don't (they generally have IgnoreOnIsolate=yes).\r\n\r\nHence, I am not sure it's worth adding this, because the specified reasons at least do not apply anymore..."}}