web-dev-qa-db-ja.com

lightdm.serviceを再度有効にするにはどうすればよいですか?

ある時点で、私は過去にlightdmサービスを無効にする必要がありました:

systemctl disable lightdm.service

またはCinnamonデスクトップを搭載した私のDebianで同様のもの。

残念ながら、私は今それを必要としますが、実行しています:

systemctl start lightdm.service

コンピュータが起動するたびに私が幸せになるわけではないので...

lightdmサービスを再度有効にするにはどうすればよいですか?実行しているだけなので:

systemctl enable lightdm.service

次のエラーが発生します。

Synchronizing state of lightdm.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable lightdm
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.

Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.

以前にも試した:

dpkg-reconfigure lightdm

無駄に。

2

サービスはmaskedのようです。


マスクを解除するには、次を実行:

systemctl unmask lightdm.service

その後、実行します:

systemctl daemon-reload
2
D'Arcy Nader

lightdm.serviceユニットを有効にしても、目の前のメッセージに示されている理由により何も行われません。 サービスユニット には[Install]情報がありません。これは、このサービスをsystemctl enableで有効にしてはならないためです。ディスプレイマネージャーには、独自の固有の有効化/無効化メカニズムがあります。

このサービスはdisplay-manager.serviceの可能な代用の1つであり、これは実行することを選択したディスプレイマネージャのフックです。 display-manager.serviceは、systemdユーザーマニュアルに記載されているように、actualディスプレイマネージャーサービスユニットファイルが何であるかを指すシンボリックリンクです。これはgraphical.targetユニット内の固定され固定されたWantsであり、サービスグラフの開始点としてgraphical.targetで開始すると、選択したディスプレイマネージャーはその情報によって開始されるという考えです。

このシンボリックリンクはもちろん Debianの「代替」システム を使用するための理想的な機会です。ディスプレイマネージャー間の切り替えは、実行するすべてのパッケージでシンプルで一貫性があります。

update-alternatives --config display-manager.service

これは確かに OpenSUSEでどのように行われるか ですが、systemdユニットを切り替えていません:

update-alternatives --config default-displaymanager

つまりもちろん「代替」システムはnotここで使用されます。 lightdmgdm3xdm 、および特異な/etc/X11/default-display-managerファイルを読み取り、各パッケージでまったく同じことを行わない他のパッケージ。

dpkg-reconfigureを介してこれらの別のシェルスクリプトのいずれかを実行したら、bootstrapの開始点がgraphical.targetユニットであることを確認する必要があります。 multi-user.targetではなくsystemctl set-defaultユニットではありません。

1
JdeBP