This is not the normal "black screen" issue and I was shocked to eventually find out why. The normal advice of reconfiguring Xorg didn't work. Even booting into "Recovery Mode" did not help.
Here is the short end of the stick that fixed it:
sudo apt-get install mdm mate-desktop-environment
Yes you got it right, mdm and the mate-desktop-environment / gnome were somehow uninstalled. This must be when removing a related package sometimes you just say Y and it uninstalls other important and necessary things! This is just a guess.
I also couldn't login after that it would kick me right out. This has something to do with Virtualbox (I wasn't using it) so I just uninstalled it.
Linux Mint 18 has so far been a very finicky environment compared to the previous 17.
Here is my saga:
sudo service mdm restart
"Failed to restart mdm.service: Unit mdm.service is masked."
/usr/sbin/mdm
-bash: /usr/sbin/mdm: No such file or directory
strace:
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f96ebba04b0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f96ebba04b0}, NULL, 8) = 0
read(10, "#! /bin/sh\n### BEGIN INIT INFO\n#"..., 8192) = 2340
geteuid() = 1000
faccessat(AT_FDCWD, "/usr/sbin/mdm", X_OK) = -1 ENOENT (No such file or directory)
exit_group(0) = ?
sudo apt-get remove mdm
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'mdm' is not installed, so not removed
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
fglrx : Depends: fglrx-core but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
baloo-kf5 breeze breeze-cursor-theme cheese-common frameworkintegration gjs kde-cli-tools kde-cli-tools-data kde-telepathy-data kde-telepathy-kaccounts ktexteditor-data kwin-style-breeze libcln6
libdmtx0a libgjs0e libglib2.0-dev libgoocanvas-common libgoocanvas3 libgps22 libjs-underscore libjsoncpp1 libkaccounts1 libkdecorations2-5v5 libkdecorations2private5v5
libkf5activitiesexperimentalstats1 libkf5baloo5 libkf5balooengine5 libkf5emoticons-data libkf5emoticons5 libkf5js5 libkf5jsembed-data libkf5jsembed5 libkf5kcmutils-data libkf5kcmutils5
libkf5networkmanagerqt6 libkf5people-data libkf5people5 libkf5peoplebackend5 libkf5peoplewidgets5 libkf5plotting5 libkf5prison1 libkf5pty-data libkf5pty5 libkf5runner5 libkf5screen-bin
libkf5screen6 libkf5su-data libkf5su5 libkf5sysguard-data libkf5texteditor5 libkf5texteditor5-libjs-underscore libkf5threadweaver5 libkf5xmlrpcclient-data libkf5xmlrpcclient5 libkfontinst5
libkfontinstui5 libkprintutils4 libksgrd7 libkworkspace5-5 liblmdb0 libmagick++-6.q16-5v5 libmission-control-plugins0 libmozjs-24-0v5 libmusicbrainz5cc2v5 libopenshot-audio5 libopenshot12
libpackagekitqt5-0 libpcre3-dev libpcre32-3 libpcrecpp0v5 libplasma-geolocation-interface5 libprocesscore7 libqalculate5-data libqalculate5v5 libqimageblitz4 libqrencode3 libqt5clucene5
libqt5concurrent5 libqt5designer5 libqt5designercomponents5 libqt5help5 libqt5multimedia5 libqt5multimediawidgets5 libqt5test5 libtaskmanager5 libtelepathy-logger-qt5 libtelepathy-logger3
libtelepathy-qt5-0 libweather-ion7 libxcb-record0 milou oxygen-sounds plasma-desktop-data plasma-look-and-feel-org-kde-breezedark-desktop python-pygoocanvas python3-openshot python3-pyqt5
python3-pyqt5.qtmultimedia python3-pyqt5.qtopengl python3-pyqt5.qtsvg python3-sip python3-zmq qdbus-qt5 qml-module-org-kde-draganddrop qml-module-org-kde-extensionplugin
qml-module-org-kde-kcoreaddons qml-module-org-kde-kwindowsystem qml-module-org-kde-solid qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtgraphicaleffects
signon-kwallet-extension telepathy-accounts-signon zlib1g-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
fglrx
0 upgraded, 0 newly installed, 1 to remove and 21 not upgraded.
1 not fully installed or removed.
After this operation, 175 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 294544 files and directories currently installed.)
Removing fglrx (2:15.201-0ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
sudo apt-get install mdm
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
baloo-kf5 breeze breeze-cursor-theme cheese-common frameworkintegration gjs kde-cli-tools kde-cli-tools-data kde-telepathy-data kde-telepathy-kaccounts ktexteditor-data kwin-style-breeze libcln6
libdmtx0a libgjs0e libglib2.0-dev libgoocanvas-common libgoocanvas3 libgps22 libjs-underscore libjsoncpp1 libkaccounts1 libkdecorations2-5v5 libkdecorations2private5v5
libkf5activitiesexperimentalstats1 libkf5baloo5 libkf5balooengine5 libkf5emoticons-data libkf5emoticons5 libkf5js5 libkf5jsembed-data libkf5jsembed5 libkf5kcmutils-data libkf5kcmutils5
libkf5networkmanagerqt6 libkf5people-data libkf5people5 libkf5peoplebackend5 libkf5peoplewidgets5 libkf5plotting5 libkf5prison1 libkf5pty-data libkf5pty5 libkf5runner5 libkf5screen-bin
libkf5screen6 libkf5su-data libkf5su5 libkf5sysguard-data libkf5texteditor5 libkf5texteditor5-libjs-underscore libkf5threadweaver5 libkf5xmlrpcclient-data libkf5xmlrpcclient5 libkfontinst5
libkfontinstui5 libkprintutils4 libksgrd7 libkworkspace5-5 liblmdb0 libmagick++-6.q16-5v5 libmission-control-plugins0 libmozjs-24-0v5 libmusicbrainz5cc2v5 libopenshot-audio5 libopenshot12
libpackagekitqt5-0 libpcre3-dev libpcre32-3 libpcrecpp0v5 libplasma-geolocation-interface5 libprocesscore7 libqalculate5-data libqalculate5v5 libqimageblitz4 libqrencode3 libqt5clucene5
libqt5concurrent5 libqt5designer5 libqt5designercomponents5 libqt5help5 libqt5multimedia5 libqt5multimediawidgets5 libqt5test5 libtaskmanager5 libtelepathy-logger-qt5 libtelepathy-logger3
libtelepathy-qt5-0 libweather-ion7 libxcb-record0 milou oxygen-sounds plasma-desktop-data plasma-look-and-feel-org-kde-breezedark-desktop python-pygoocanvas python3-openshot python3-pyqt5
python3-pyqt5.qtmultimedia python3-pyqt5.qtopengl python3-pyqt5.qtsvg python3-sip python3-zmq qdbus-qt5 qml-module-org-kde-draganddrop qml-module-org-kde-extensionplugin
qml-module-org-kde-kcoreaddons qml-module-org-kde-kwindowsystem qml-module-org-kde-solid qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtgraphicaleffects
signon-kwallet-extension telepathy-accounts-signon zlib1g-dev
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
gir1.2-webkit-3.0 libwebkitgtk-1.0-0 libwebkitgtk-3.0-0
Recommended packages:
zenity
The following NEW packages will be installed:
gir1.2-webkit-3.0 libwebkitgtk-1.0-0 libwebkitgtk-3.0-0 mdm
0 upgraded, 4 newly installed, 0 to remove and 21 not upgraded.
Need to get 17.2 MB of archives.
After this operation, 78.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://packages.linuxmint.com serena/upstream amd64 mdm amd64 2.0.17+serena [1,932 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libwebkitgtk-3.0-0 amd64 2.4.11-0ubuntu0.1 [7,593 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 gir1.2-webkit-3.0 amd64 2.4.11-0ubuntu0.1 [60.7 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libwebkitgtk-1.0-0 amd64 2.4.11-0ubuntu0.1 [7,587 kB]
Fetched 17.2 MB in 2s (6,079 kB/s)
Preconfiguring packages ...
Selecting previously unselected package libwebkitgtk-3.0-0:amd64.
(Reading database ... 294417 files and directories currently installed.)
Preparing to unpack .../libwebkitgtk-3.0-0_2.4.11-0ubuntu0.1_amd64.deb ...
Unpacking libwebkitgtk-3.0-0:amd64 (2.4.11-0ubuntu0.1) ...
Selecting previously unselected package gir1.2-webkit-3.0:amd64.
Preparing to unpack .../gir1.2-webkit-3.0_2.4.11-0ubuntu0.1_amd64.deb ...
Unpacking gir1.2-webkit-3.0:amd64 (2.4.11-0ubuntu0.1) ...
Selecting previously unselected package libwebkitgtk-1.0-0:amd64.
Preparing to unpack .../libwebkitgtk-1.0-0_2.4.11-0ubuntu0.1_amd64.deb ...
Unpacking libwebkitgtk-1.0-0:amd64 (2.4.11-0ubuntu0.1) ...
Selecting previously unselected package mdm.
Preparing to unpack .../mdm_2.0.17+serena_amd64.deb ...
Unpacking mdm (2.0.17+serena) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu21.2) ...
Setting up libwebkitgtk-3.0-0:amd64 (2.4.11-0ubuntu0.1) ...
Setting up gir1.2-webkit-3.0:amd64 (2.4.11-0ubuntu0.1) ...
Setting up libwebkitgtk-1.0-0:amd64 (2.4.11-0ubuntu0.1) ...
Setting up mdm (2.0.17+serena) ...
Upstart detected. Removing rc.d links.
Linking /usr/bin/gdmflexiserver to /usr/bin/mdmflexiserver
Processing triggers for libc-bin (2.23-0ubuntu10) ...
after restarting mdm this works with a weird/different generic looking login screen but then it logs out right away without showing anything except an error message saying to check this:
~/.xession-errors
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
/etc/mdm/Xsession: Beginning session setup...
localuser:mintuser being added to access control list
sudo apt-get --reinstall install xserver-xorg-core xserver-xorg
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
sudo apt-get --reinstall install mate-desktop-environment
#after this the normal login screen but after logging in you get kicked out immediately without ever seeing the desktop environment and the message about the xsession-errors
Your session only lasted less than 10 seconds.
=========
I also believed it was an Xorg issue but I just had to reinstall mdm and the mate-desktop:
[ 27.153]
X.Org X Server 1.18.4
Release Date: 2016-07-19
[ 27.154] X Protocol Version 11, Revision 0
[ 27.154] Build Operating System: Linux 4.4.0-97-generic x86_64 Ubuntu
[ 27.154] Current Operating System: Linux queenlazina-laptop 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64
[ 27.154] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-116-generic root=UUID=328e6d8a-529d-4f5e-8d72-16a9f3ec16e1 ro quiet splash vt.handoff=7
[ 27.154] Build Date: 13 October 2017 01:57:05PM
[ 27.154] xorg-server 2:1.18.4-0ubuntu0.7 (For technical support please see http://www.ubuntu.com/support)
[ 27.154] Current version of pixman: 0.33.6
[ 27.154] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 27.154] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 27.154] (==) Log file: "/var/log/Xorg.0.log", Time: Tue May 1 12:25:36 2018
[ 27.154] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 27.154] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 27.155] (==) No Layout section. Using the first Screen section.
[ 27.155] (==) No screen section available. Using defaults.
[ 27.155] (**) |-->Screen "Default Screen Section" (0)
[ 27.155] (**) | |-->Monitor "<default monitor>"
[ 27.156] (==) No device specified for screen "Default Screen Section".
Using the first device section listed.
[ 27.156] (**) | |-->Device "Intel Graphics"
[ 27.156] (==) No monitor specified for screen "Default Screen Section".
(II) [KMS] Kernel modesetting enabled.
No devices to configure. Configuration failed.
(EE) Server terminated with error (2). Closing log file.
linux, mint, graphics, solutionthis, quot, reconfiguring, xorg, didn, booting, mode, sudo, apt, install, mdm, desktop, gnome, uninstalled, removing, uninstalls, couldn, login, virtualbox, wasn, finicky, previous, saga, restart, masked, usr, sbin, bash, directory, strace, rt_sigaction, sigquit, sig_dfl, rtmin, rt_, sa_restorer, ebba, null, sigterm, bin, sh, init, info, geteuid, faccessat, at_fdcwd, x_ok, enoent, exit_group, lists, dependency, installed, packages, unmet, dependencies, fglrx, installable, specify, correcting, automatically, baloo, kf, breeze, cursor, frameworkintegration, gjs, kde, cli, telepathy, kaccounts, ktexteditor, kwin, libcln, libdmtx, libgjs, libglib, dev, libgoocanvas, libgps, libjs, underscore, libjsoncpp, libkaccounts, libkdecorations, libkf, activitiesexperimentalstats, balooengine, emoticons, js, jsembed, kcmutils, networkmanagerqt, peoplebackend, peoplewidgets, plotting, pty, runner, su, sysguard, texteditor, threadweaver, xmlrpcclient, libkfontinst, libkfontinstui, libkprintutils, libksgrd, libkworkspace, liblmdb, libmagick, libmission, plugins, libmozjs, libmusicbrainz, cc, libopenshot, audio, libpackagekitqt, libpcre, libpcrecpp, libplasma, geolocation, interface, libprocesscore, libqalculate, libqimageblitz, libqrencode, libqt, clucene, concurrent, designercomponents, multimedia, multimediawidgets, libtaskmanager, libtelepathy, logger, qt, libweather, ion, libxcb, milou, plasma, org, breezedark, python, pygoocanvas, openshot, pyqt, qtmultimedia, qtopengl, qtsvg, sip, zmq, qdbus, qml, module, draganddrop, extensionplugin, kcoreaddons, kwindowsystem, labs, folderlistmodel, settings, qtgraphicaleffects, signon, kwallet, extension, zlib, autoremove, upgraded, newly, mb, disk, freed, database, directories, currently, ubuntu, processing, triggers, libc, additional, gir, webkit, libwebkitgtk, recommended, zenity, archives, http, linuxmint, serena, upstream, amd, kb, archive, xenial, updates, fetched, preconfiguring, selecting, previously, unselected, preparing, unpack, _, _amd, deb, unpacking, mdm_, serena_amd, hicolor, icon, db, ureadahead, systemd, upstart, detected, rc, links, linking, gdmflexiserver, mdmflexiserver, restarting, generic, logs, xession, errors, initctl, unable, socket, etc, xsession, localuser, mintuser, reinstall, xserver, logging, lasted, server, protocol, revision, operating, queenlazina, laptop, smp, feb, utc, kernel, boot_image, vmlinuz, uuid, ec, ro, splash, vt, handoff, october, pm, technical, www, pixman, reporting, wiki, markers, probed, config, default, ii, informational, ww, ee, ni, implemented, var, tue, conf, layout, defaults, specified, listed, intel, kms, modesetting, enabled, devices, configure, configuration, terminated,