uninstalled tar package, running without display manager

Debian Stable (Stretch 9.3)
TeamViewer 13.0.6634

Been trying to migrate from TV12. The first issue I had was the GUI not appearing. That issue was addressed with a post here. I eventually identified the problem as being the lack of a display manager on my system. I prefer for my machine to simply boot to terminal and, when I need a graphical environment, I start one with 'startx'

So the installed version worked for me after installing lightdm, but I'd like to get back to my previous arrangement (without lightdm). In that previous exchange, it was suggested that the uninstalled tar package should work without a display manager present.

Spoiler
12-20-2017_02-16-16pm.png

Unfortunately this doesn't seem to be the case yet. The behavior of the tar package seems to be the same as the installed package—failing to display anything without generating any kind of error. I made sure to run the check script:12-20-2017_01-33-51pm.png

Here's the output to terminal from manually installing qtquickcontrols through attempting to launch:12-20-2017_01-25-07pm.png

Thanks for your continued efforts to get this native Linux version up and working for everyone.

 

 

Comments

  • ChristianCay
    ChristianCay Posts: 182 [Former Staff]

    Dear J_Reis,

    Thank you for your message.

    I'll like to assist you in this case and try to reproduce the issue.

    May you please let me know what desktop environment are you using? 

    For example Gnome, KDE , LXDE, etc.

    May you please check these dependencies if they are satisfied?

    dpkg-query -l libc6 libdbus-1-3 libqt5gui5 libqt5widgets5 libqt5qml5 libqt5quick5 libqt5dbus5 libqt5webkit5 libqt5x11extras5 qtdeclarative5-qtquick2-plugin qml-module-qtquick2 qtdeclarative5-controls-plugin qml-module-qtquick-controls qtdeclarative5-dialogs-plugin qml-module-qtquick-dialogs qtdeclarative5-window-plugin qml-module-qtquick-window2 qtdeclarative5-quicklayouts-plugin qml-module-qtquick-layouts libqt5qml-graphicaleffects qml-module-qtgraphicaleffects

    We are looking forward to your comments.

     

    Best regards, 

    Christian

     

    Did my reply answer your question? Accept it as a solution to help others, Thanks.
  • Christian, I posted a similar request recently, you may want to have a look: https://community.teamviewer.com/t5/Linux/Unable-to-run-TV13-without-display-manager-even-when-using-tar/m-p/27669

    I used ./tv-setup checklibs to check that all dependencies are installed.

    Personally I don't use any display manager such as Gnome (GDM), I use Arch Linux running i3 window manager started directly using startx.

  • J_Reis
    J_Reis Posts: 14

    Thanks for following up! I don't use a desktop environment. I run a simple window manager (jwm) on top of X.

    output of dpkg-query …

    01-13-2018_04-03-56pm.png

  • J_Reis
    J_Reis Posts: 14

    Just following up … any additional information available on this issue?

  • DanielStm
    DanielStm Posts: 224 Staff member 🤠

    Most likely you are just missing Qt quick controls. Just install it manually. Unfortunately, checklibs does not detect that yet, as it is not a shared library (.so) but a bunch of .qml files. We'll fix that eventually...

    Best regards,

    Daniel

    Linux Developer
  • It must be something else, Arch Linux package already defines qt5-quickcontrols as a dependency and thus I have it installed - no GUI appearing. I tried reinstalling, and I even tried to install the entire qt5 group (see here: https://www.archlinux.org/groups/x86_64/qt5/) and still no GUI.

     

    Any other ideas to try?

  • DanielStm
    DanielStm Posts: 224 Staff member 🤠

    Please try this:

    # any libs missing?
    ldd /opt/teamviewer/tv_bin/TeamViewer | grep 'not found'

    # run from inside Xorg (e.g. Xterm)
    # any output?
    /opt/teamviewer/tv_bin/TeamViewer

    Best regards,

    Daniel

    Linux Developer
  • # any libs missing?
    ldd /opt/teamviewer/tv_bin/TeamViewer | grep 'not found'

    No results, the full output is under the spoiler.

     

    Spoiler
    linux-vdso.so.1 (0x00007ffcef979000)
    libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f8032786000)
    librt.so.1 => /usr/lib/librt.so.1 (0x00007f803257e000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f803237a000)
    libQt5WebKitWidgets.so.5 => /usr/lib/libQt5WebKitWidgets.so.5 (0x00007f8032b80000)
    libQt5X11Extras.so.5 => /usr/lib/libQt5X11Extras.so.5 (0x00007f8032175000)
    libQt5DBus.so.5 => /usr/lib/libQt5DBus.so.5 (0x00007f8031eeb000)
    libQt5Quick.so.5 => /usr/lib/libQt5Quick.so.5 (0x00007f8031876000)
    libQt5Qml.so.5 => /usr/lib/libQt5Qml.so.5 (0x00007f803123f000)
    libQt5WebKit.so.5 => /usr/lib/libQt5WebKit.so.5 (0x00007f802e20d000)
    libQt5Network.so.5 => /usr/lib/libQt5Network.so.5 (0x00007f802de81000)
    libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5 (0x00007f802d627000)
    libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0x00007f802ce66000)
    libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0x00007f802c75e000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007f802c412000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f802c1f4000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f802be3d000)
    /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f80329d7000)
    libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f802bbb7000)
    libQt5PrintSupport.so.5 => /usr/lib/libQt5PrintSupport.so.5 (0x00007f802b949000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f802b5c2000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f802b3ab000)
    libQt5WebChannel.so.5 => /usr/lib/libQt5WebChannel.so.5 (0x00007f802b18d000)
    libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x00007f802add4000)
    libQt5Positioning.so.5 => /usr/lib/libQt5Positioning.so.5 (0x00007f802ab4c000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f802a80d000)
    libicui18n.so.60 => /usr/lib/libicui18n.so.60 (0x00007f802a36a000)
    libQt5Sensors.so.5 => /usr/lib/libQt5Sensors.so.5 (0x00007f802a129000)
    libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007f8029ec1000)
    libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f8029c8b000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007f8029a74000)
    libwebp.so.7 => /usr/lib/libwebp.so.7 (0x00007f802980a000)
    libhyphen.so.0 => /usr/lib/libhyphen.so.0 (0x00007f8029604000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f802929e000)
    libxslt.so.1 => /usr/lib/libxslt.so.1 (0x00007f802905f000)
    libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007f8028d4b000)
    libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f802899f000)
    libgstapp-1.0.so.0 => /usr/lib/libgstapp-1.0.so.0 (0x00007f8028790000)
    libgstbase-1.0.so.0 => /usr/lib/libgstbase-1.0.so.0 (0x00007f802852c000)
    libgstreamer-1.0.so.0 => /usr/lib/libgstreamer-1.0.so.0 (0x00007f80281f4000)
    libgstpbutils-1.0.so.0 => /usr/lib/libgstpbutils-1.0.so.0 (0x00007f8027fbd000)
    libgstaudio-1.0.so.0 => /usr/lib/libgstaudio-1.0.so.0 (0x00007f8027d51000)
    libgsttag-1.0.so.0 => /usr/lib/libgsttag-1.0.so.0 (0x00007f8027b16000)
    libgstvideo-1.0.so.0 => /usr/lib/libgstvideo-1.0.so.0 (0x00007f8027881000)
    libgstfft-1.0.so.0 => /usr/lib/libgstfft-1.0.so.0 (0x00007f8027676000)
    libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f8027421000)
    libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f802710c000)
    libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f8026ea2000)
    libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f8026a25000)
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f802679a000)
    libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f80264f2000)
    libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0x00007f802627a000)
    libdouble-conversion.so.1 => /usr/lib/libdouble-conversion.so.1 (0x00007f802606a000)
    liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f8025e44000)
    liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f8025c2d000)
    libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f8025911000)
    libicudata.so.60 => /usr/lib/libicudata.so.60 (0x00007f8023d69000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f8023b40000)
    libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f802393c000)
    libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f8023725000)
    libmount.so.1 => /usr/lib/libmount.so.1 (0x00007f80234cf000)
    libunwind.so.8 => /usr/lib/libunwind.so.8 (0x00007f80232b5000)
    libdw.so.1 => /usr/lib/libdw.so.1 (0x00007f802306d000)
    liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x00007f8022dee000)
    libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f8022be5000)
    libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f8022972000)
    libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f8022741000)
    libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f802252f000)
    libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f8022279000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f8021fb0000)
    libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f8021d84000)
    libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f8021b6f000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f802196b000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f8021765000)
    libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007f8021517000)
    libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f8021310000)
    libelf.so.1 => /usr/lib/libelf.so.1 (0x00007f80210f8000)
    libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f8020ee8000)
    # run from inside Xorg (e.g. Xterm)
    # any output?
    /opt/teamviewer/tv_bin/TeamViewer

    No output, exit code 1

     

     

     

     

  • unknn
    unknn Posts: 1

    Im having the same issue under Centos 7, with no sesion manager.

    Using Fluxbox 1.3.7   started using startx

    When i try to run teamviewer the output is this:

    Init...
    CheckCPU: SSE2 support: yes
    Checking setup...
    Launching TeamViewer ...
    Starting network process (no daemon)
    Network process started (6934)
    Launching TeamViewer GUI ...

    Nothing else happens, however this process remain on background:

    redacted  6934  0.2  0.1 1329412 9844 pts/8    Sl   16:38   0:00 /opt/teamviewer/tv_bin/teamviewerd -n -f

    ldd show no missing shared library for teamviewer binary:

     

    Spoiler
    /opt/teamviewer » ldd /opt/teamviewer/tv_bin/TeamViewer
    linux-vdso.so.1 => (0x00007ffe0e1cb000)
    libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007ffa84e59000)
    librt.so.1 => /lib64/librt.so.1 (0x00007ffa84c51000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007ffa84a4c000)
    libQt5WebKitWidgets.so.5 => /lib64/libQt5WebKitWidgets.so.5 (0x00007ffa84a05000)
    libQt5X11Extras.so.5 => /lib64/libQt5X11Extras.so.5 (0x00007ffa84a00000)
    libQt5DBus.so.5 => /lib64/libQt5DBus.so.5 (0x00007ffa8497c000)
    libQt5Quick.so.5 => /lib64/libQt5Quick.so.5 (0x00007ffa84577000)
    libQt5Qml.so.5 => /lib64/libQt5Qml.so.5 (0x00007ffa84165000)
    libQt5WebKit.so.5 => /lib64/libQt5WebKit.so.5 (0x00007ffa81d71000)
    libQt5Network.so.5 => /lib64/libQt5Network.so.5 (0x00007ffa81c15000)
    libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 (0x00007ffa81583000)
    libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 (0x00007ffa81043000)
    libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007ffa80bba000)
    libm.so.6 => /lib64/libm.so.6 (0x00007ffa808b8000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffa8069b000)
    libc.so.6 => /lib64/libc.so.6 (0x00007ffa802d8000)
    /lib64/ld-linux-x86-64.so.2 (0x00005594744fc000)
    libXext.so.6 => /lib64/libXext.so.6 (0x00007ffa800c6000)
    libX11.so.6 => /lib64/libX11.so.6 (0x00007ffa7fd87000)
    libxslt.so.1 => /lib64/libxslt.so.1 (0x00007ffa7fb48000)
    libz.so.1 => /lib64/libz.so.1 (0x00007ffa7f932000)
    libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007ffa7f59d000)
    libgstapp-0.10.so.0 => /lib64/libgstapp-0.10.so.0 (0x00007ffa7f391000)
    libgstinterfaces-0.10.so.0 => /lib64/libgstinterfaces-0.10.so.0 (0x00007ffa7f17f000)
    libgstpbutils-0.10.so.0 => /lib64/libgstpbutils-0.10.so.0 (0x00007ffa7ef5a000)
    libgstvideo-0.10.so.0 => /lib64/libgstvideo-0.10.so.0 (0x00007ffa7ed3d000)
    libgstbase-0.10.so.0 => /lib64/libgstbase-0.10.so.0 (0x00007ffa7eae9000)
    libgstreamer-0.10.so.0 => /lib64/libgstreamer-0.10.so.0 (0x00007ffa7e7ff000)
    libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007ffa7e5af000)
    libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007ffa7e3ab000)
    libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007ffa7e1a8000)
    libxml2.so.2 => /lib64/libxml2.so.2 (0x00007ffa7de3e000)
    libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007ffa7db2c000)
    libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007ffa7d876000)
    libicui18n.so.50 => /lib64/libicui18n.so.50 (0x00007ffa7d477000)
    libicuuc.so.50 => /lib64/libicuuc.so.50 (0x00007ffa7d0fe000)
    libicudata.so.50 => /lib64/libicudata.so.50 (0x00007ffa7bb29000)
    libQt5Sensors.so.5 => /lib64/libQt5Sensors.so.5 (0x00007ffa7bae9000)
    libQt5Positioning.so.5 => /lib64/libQt5Positioning.so.5 (0x00007ffa7baa8000)
    libQt5PrintSupport.so.5 => /lib64/libQt5PrintSupport.so.5 (0x00007ffa7ba36000)
    libQt5OpenGL.so.5 => /lib64/libQt5OpenGL.so.5 (0x00007ffa7b9dc000)
    libQt5Sql.so.5 => /lib64/libQt5Sql.so.5 (0x00007ffa7b996000)
    libGL.so.1 => /lib64/libGL.so.1 (0x00007ffa7b723000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ffa7b41b000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffa7b205000)
    libXrender.so.1 => /lib64/libXrender.so.1 (0x00007ffa7aff9000)
    libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007ffa7adf6000)
    libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007ffa7aba0000)
    libpng15.so.15 => /lib64/libpng15.so.15 (0x00007ffa7a975000)
    libwebp.so.4 => /lib64/libwebp.so.4 (0x00007ffa7a725000)
    libQt5WebChannel.so.5 => /lib64/libQt5WebChannel.so.5 (0x00007ffa7a704000)
    libproxy.so.1 => /lib64/libproxy.so.1 (0x00007ffa7a4e3000)
    libssl.so.10 => /lib64/libssl.so.10 (0x00007ffa7a270000)
    libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007ffa79e0f000)
    libpcre16.so.0 => /lib64/libpcre16.so.0 (0x00007ffa79bb5000)
    libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007ffa79b8d000)
    libxcb.so.1 => /lib64/libxcb.so.1 (0x00007ffa79964000)
    libffi.so.6 => /lib64/libffi.so.6 (0x00007ffa7975c000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007ffa794fa000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007ffa792d2000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ffa790b8000)
    libmount.so.1 => /lib64/libmount.so.1 (0x00007ffa78e76000)
    liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x00007ffa78bf1000)
    liblzma.so.5 => /lib64/liblzma.so.5 (0x00007ffa789cb000)
    libexpat.so.1 => /lib64/libexpat.so.1 (0x00007ffa787a0000)
    libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007ffa7859d000)
    libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007ffa78399000)
    libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007ffa78192000)
    libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007ffa77f8f000)
    libglapi.so.0 => /lib64/libglapi.so.0 (0x00007ffa77d5f000)
    libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007ffa77b5c000)
    libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007ffa77956000)
    libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007ffa77753000)
    libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007ffa77538000)
    libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007ffa77333000)
    libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007ffa7712c000)
    libdrm.so.2 => /lib64/libdrm.so.2 (0x00007ffa76f1d000)
    libmodman.so.1 => /lib64/libmodman.so.1 (0x00007ffa76d14000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007ffa76ac7000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007ffa767df000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007ffa765da000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007ffa763a7000)
    libcap.so.2 => /lib64/libcap.so.2 (0x00007ffa761a2000)
    libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007ffa75f20000)
    libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007ffa75d1b000)
    libdw.so.1 => /lib64/libdw.so.1 (0x00007ffa75ad4000)
    libXau.so.6 => /lib64/libXau.so.6 (0x00007ffa758cf000)
    libblkid.so.1 => /lib64/libblkid.so.1 (0x00007ffa75690000)
    libuuid.so.1 => /lib64/libuuid.so.1 (0x00007ffa7548b000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007ffa7527c000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007ffa75078000)
    libattr.so.1 => /lib64/libattr.so.1 (0x00007ffa74e72000)
    libelf.so.1 => /lib64/libelf.so.1 (0x00007ffa74c5a000)
    libbz2.so.1 => /lib64/libbz2.so.1 (0x00007ffa74a4a000)

    Hopefully this can contribute somehow.

  • cheflo
    cheflo Posts: 1

    I am having the same issue, it would be great if there was a way to run TV13 without a display manager. Are there any updates or plans for this?

  • DanielStm
    DanielStm Posts: 224 Staff member 🤠

    @cheflo, it will not happen this year. However, a part of TeamViewer is currently rewritten that will make it simpler to implement it in the future.

    Linux Developer
  • milon21
    milon21 Posts: 2

    That's very unfortunate ... I need to find another solution.

  • Ezio652
    Ezio652 Posts: 1

    But we can assume that it will be working without a session manager eventually? (So next year, etc.)

  • dsusman
    dsusman Posts: 1

    Looks like it.

    This is still ongoing on Debian 9.5 with the deb package. It appears it won't run without a display manager.

  • Warudo
    Warudo Posts: 1

    So, it's the next year now - any updates?

  • Any update on this ?!?

  • stocktno
    stocktno Posts: 1

    I'm in the same boat as the others. Ubuntu 16.04 using i3wm as my window manager. No desktop/login manager. Is there a fix coming down the road?

  • hshackle
    hshackle Posts: 1
    Any updates on this? I can get Teamviewer to work with bspwm by using TV12, but my connection time has recently been cut to 5 minutes in order to encourage me to update to the newest version of Teamviewer. It's basically unusable, and as far as I can tell, the most recent version of Teamviewer still doesn't work without a desktop environment.
  • lizhitwo
    lizhitwo Posts: 1

    Seconded. Now Teamviewer sessions simply refuse to start, making it completely unusable on my machine. Are you dropping support for Linux?

  • mm6
    mm6 Posts: 1

    Oh, just noticed that teamviewer doesn't run under linux for me. Well, too bad. Let's use something else.

  • friederbluemle
    friederbluemle Posts: 1

    We're well into 2021 now, and this appears to STILL be an issue.

    At this point, is it safe to assume TeamViewer will never be properly supported on Linux (without a display manager)? Or are we still waiting on updates?

  • Many people waiting for this for many years.

    Please make it work with startx, and not force people to install a display manager just for TV!

    Thanks!