Commit Graph

111 Commits

Author SHA1 Message Date
The feren OS Dev
c0d61b666d
Made amendments based on review
Fixed 'prepend' terminology in comments, restored old loop as it seems to work for me now in overwriting the file as one overall multiline instead of overwriting the file with each line at a time, code simplification based on review comments... credits-adding will come in the next commit.
2019-04-16 16:52:02 +01:00
The feren OS Dev
3ecd031d9d
Better LightDM Autologin Support
This change fixes a few issues and adds a few improvements to the LightDM Autologin configuration process:

Fixes:

- Fixes malforming of configuration file out of the box, as without `[SeatDefaults]`, `[Seat:*]` or similar in the configuration file LightDM will break on a lot of distributions using LightDM

- Preserves the intended lightdm.conf file settings outside of `autologin-user` if the distribution has an /etc/lightdm/lightdm.conf file of its own

Misc. changes:

- Small spelling fix
2019-04-15 15:01:08 +01:00
Adriaan de Groot
e366e7d83a [displaymanager] It's not fatal to have no DM
- If a distro provides an install-scenario that doesn't provide a DM,
   (e.g. via netinstall) then that should be ok; if there **is** a DM
   it should be configured.

FIXES: #1095
2019-02-22 16:38:02 -05:00
Philip Müller
e3ca2dd857
[displaymanager] fix desktop_environment_setup ldm 2018-08-26 21:15:03 +02:00
Adriaan de Groot
c3219a4905 [displaymanager] Fix call in LightDM code
- The parameter list was wrong, and could never have worked
   (apparently noone mixes LightDM with basic setup, even though
   it's one of the few with basic_setup()).
 - Shorten some lines.
2018-08-21 07:31:46 -04:00
Adriaan de Groot
858c959285 Merge branch 'master' into refactor-dm 2018-08-20 17:25:26 -04:00
root
fa45e21e15 Fix default desktop environment variable in displaymanager. Closes #1016. 2018-08-20 22:21:39 -07:00
Adriaan de Groot
a83ee4984d [displaymanager] Enable translation for user-visible messages
See also #991
2018-08-20 12:30:44 -04:00
Adriaan de Groot
5191400d89 [displaymanager] Fix LightDM error message
- Error tuple was not being constructed properly
 - Fix capitalization consistency
2018-08-20 12:30:44 -04:00
Adriaan de Groot
ebae7e1f47 [displaymanager] Re-arrange initializations
- Move variable initializations closer to where they are first used
 - Also warn if no implementations are available
 - Handle sysconfig as any other DM; there's no real reason
   to treat it specially.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
229cc241fa [displaymanager] Massage do_autologin
- Move getting the global setting closer to where it is used
 - Initialize variable
2018-08-20 12:30:44 -04:00
Adriaan de Groot
59a003a41f [displaymanager] Expand check for no-DMs
- The message refers to an empty list or unset variable,
   but the if only checked for unset. Also bail out if
   the list is empty.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
2d0660a54a [displaymanager] Fix up missing methods
- Add (empty) implementations of all the abstract methods that
   are not needed (or supported) by various DMs.
 - Order the abstract methods by calling order
 - Fix up have_dm
2018-08-20 12:30:44 -04:00
Adriaan de Groot
155e212616 [displaymanager] Call all configuration methods through instance
- Make root_mount_point a parameter of the DM classes
 - Create instances as needed, then check if they're available
 - Keep instances that actually need to be configured
 - Clean up remaining cruft from removing old setup_autologin()
   with all the string-comparison magic.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
18392cb216 [displaymanager] Refactor greeter setup
- Only lightdm has support for dynamically configuring the
   greeter based on what is installed. Still, refactory that
   to something general.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
383e0e4f25 [displaymanager] Refactor setting up default DE
- Some DMs allow setting up the default DE. Factor that
   out into a method like basic_setup() and setup_autologin()
   and add it to the configuration chain.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
1c0b9e6a2a [displaymanager] Call basic_setup through instance
- Now that basic_setup is factored out into the classes,
   call it via an instance before doing set_autologin.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
cd0cdfc9af [displaymanager] Move basic setup to DM classes
- For all the DMs that have some kind of basic setup,
   introduce a method in the DM class for doing just that.
 - The Python code now doesn't call basic setup anywhere,
   so this specific revision isn't going to work properly.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
47b58083f7 [displaymanager] Move setup_autologin to individual classes
- Split the entire body of setup_autologin() to a method
   per implementation class.
 - Make the check for presence of a DM a class-method,
   since if it fails, instantiation is going to be useless.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
e1f7dbdbb9 [displaymanager] Simplify do_autologin initialization 2018-08-20 12:30:44 -04:00
Adriaan de Groot
7f47b2f9ca [displaymanager] Introduce class for DM configuration
- Much like PackageManager, this is where the actual
   implementation of configuration methods will end up,
   for each supported DM.
2018-08-20 12:30:44 -04:00
Adriaan de Groot
f188c6f71b [displaymanager] Simplify DE class
- The DE isn't being configured, and isn't where the complexity
   lies. Drop the ABC from it.
2018-08-20 08:14:52 -04:00
Adriaan de Groot
76a7c439c1 [displaymanager] Begin refactoring DM
- Introduce a base-class to "do the stuff" for one specific
   display manager / desktop environment.
2018-08-20 07:37:46 -04:00
Adriaan de Groot
c3cef4d919 [displaymanager] Avoid unassigned variable
If displaymanagers is not set in the job config or globally,
it wasn't set at all, leading to a runtime error. Set to
None, so that the regular error message will be triggered.

FIXES #1002
2018-08-20 06:17:05 -04:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Philip
d20285d4f2 [modules] displaymanager: try to fix regression introduced with c8fd11b 2017-09-21 13:08:13 -04:00
Adriaan de Groot
13807ceabf Licensing: add self
- to all the files I've touched recently
 - to (very incomplete) AUTHORS list

Licensing: add license info to top-level CMakeLists.txt
2017-09-19 15:57:25 +02:00
Adriaan de Groot
c8fd11b103 Replace scandir with listdir, simplify loop
FIXES: ??
2017-09-16 07:01:55 -04:00
Adriaan de Groot
ce11c7ab6d LightDM: fix type (thanks Kevin Kofler) 2017-07-10 14:43:13 -04:00
Adriaan de Groot
9561bac1c8 SUSE DM: add special case configuring autologin in sysconfig (openSUSE)
FIXES #582
2017-07-10 10:14:28 -04:00
Adriaan de Groot
984a83deb9 LightDM: if lightdm.conf doesn't exist (for autologin), create it
FIXES #568
2017-07-10 09:27:56 -04:00
Philip Müller
f64266a294 Merge pull request #758 from manjaro/lightdm-greeters
[displaymanager] check for installed lightdm greeter and configure accordingly
2017-06-28 17:04:40 +02:00
Bernhard Landauer
a1173bccc2 [displaymanager] check for installed lightdm greeter and configure accordingly
- no matter if for example slick-greeter is installed as "lightdm-slick-greeter" or whatever.
  tested with lightdm-deepin-greeter and slick-greeter.
- plus some little simplifications
- added Copyright
https://github.com/calamares/calamares/issues/756
2017-06-28 16:43:07 +02:00
Adriaan de Groot
2905a9969d SDDM-config: allow poorly formatted SDDM config
SDDM itself doesn't trip over duplicate sections or keys, but
the Python config-parser does (in strict mode). Relax a bit.

FIXES #579
2017-06-28 03:57:01 -04:00
Bernhard Landauer
72cfb83873 fix https://github.com/calamares/calamares/issues/756 2017-06-27 14:50:53 +02:00
Adriaan de Groot
4405790253 Displaymanager: simplify gdm configuration.
Replace calling out to shell to run echo redirected to a file by
opening the file and writing to it.
2017-06-19 18:20:24 -04:00
Adriaan de Groot
70af29672d Displaymanager: check alternative locations for kdmrc.
FIXES #578
2017-06-19 18:05:34 -04:00
Adriaan de Groot
582e4354a7 Displaymanager: refactor a little, don't bail out at the first DM that doesn't configure 2017-06-19 18:00:10 -04:00
Alf Gaida
f9695cabac Fixed pep8 whining in module displaymanager
Added myself to copyright
2017-06-06 20:35:07 +02:00
Teo Mrnjavac
68e2c4f901 Unbreak autologin setting. 2017-01-24 18:55:32 +01:00
Teo Mrnjavac
8d5e4cdb16 Don't assume 'User' exists in autologin section. 2017-01-17 17:02:53 +01:00
Kevin Kofler
bc8dd4225a [displaymanager] set_autologin: Unset autologin for sddm when needed
CAL-423 #close
2016-12-03 19:18:41 +01:00
Rohan Garg
d67fdccd4c Make sure we also set a preferred Xsession 2016-11-02 09:51:27 +01:00
Rohan Garg
662656a762
Better handling for when the Autologin section already has things 2016-10-31 17:55:59 +01:00
Rohan Garg
f7ac1a3ede Use configparser to parse sddm.conf
Since sddm.conf follows the INI format we can use configparser
with a few added options to properly parse the config and write
it out instead of manually parsing each line which is slow and
prone to error.

For eg. The old code would fail to parse a conf which had no
commented out User key but where the user had configured autologin
in Calamares.
2016-10-31 17:10:46 +01:00
Philip
22cf2c16a2 [displaymanager] use same pattern for all str.format calls 2016-10-26 21:40:14 +02:00
Bernhard Landauer
c99cdc0fa7 [displaymanager] add Deepin 2016-10-26 03:56:03 +02:00
udeved
c2d7890f3e displaymanager: write process DM list to globalstorage so other modules can use it 2016-08-19 09:42:28 +02:00
Philip
262fdec3f3 [bootloader] revert 8cbefa1 2016-01-03 10:13:28 +01:00
Philip
8cbefa12e0 [displaymanager] if gnome is present, budgie should be detected first 2016-01-02 10:25:17 +01:00