You are not logged in.
I have spent the last couple of days trying to get QTile (0.14.2-3) to work.
I have followed all the instruction on both the Arch Wiki and the Qtile site but I have had no luck
When I try to start Qtile I will get a black screen, no cursor or anything, and the system become unrecoverable
When I try to start Qtile within gnome I get a "Oh No, something went wrong" and I am only able to log out.
I have a full working Gnome (3.34.2) install using X.Org 1.20.6
This is my config.py file, located in ~/.config/qtile
from libqtile.config import Key, Screen, Group, Drag, Click
from libqtile.command import lazy
from libqtile import layout, bar, widget
from typing import List # noqa: F401
mod = "mod4"
import subprocess
import os
from libqtile import hook
@hook.subscribe.startup
def dbus_register():
id = os.environ.get('DESKTOP_AUTOSTART_ID')
if not id:
return
subprocess.Popen(['dbus-send',
'--session',
'--print-reply',
'--dest=org.gnome.SessionManager',
'/org/gnome/SessionManager'
'org.gnome.SessionManager.RegisterClient',
'string:qtile',
'string:' + id])
keys = [
# Switch between windows in current stack pane
Key([mod], "k", lazy.layout.down()),
Key([mod], "j", lazy.layout.up()),
# Move windows up or down in current stack
Key([mod, "control"], "k", lazy.layout.shuffle_down()),
Key([mod, "control"], "j", lazy.layout.shuffle_up()),
# Switch window focus to other pane(s) of stack
Key([mod], "space", lazy.layout.next()),
# Swap panes of split stack
Key([mod, "shift"], "space", lazy.layout.rotate()),
# Toggle between split and unsplit sides of stack.
# Split = all windows displayed
# Unsplit = 1 window displayed, like Max layout, but still with
# multiple stack panes
Key([mod, "shift"], "Return", lazy.layout.toggle_split()),
Key([mod], "Return", lazy.spawn("xterm")),
# Toggle between different layouts as defined below
Key([mod], "Tab", lazy.next_layout()),
Key([mod], "w", lazy.window.kill()),
Key([mod, "control"], "r", lazy.restart()),
Key([mod, "control"], "q", lazy.shutdown()),
Key([mod], "r", lazy.spawncmd()),
]
groups = [Group(i) for i in "asdfuiop"]
for i in groups:
keys.extend([
# mod1 + letter of group = switch to group
Key([mod], i.name, lazy.group[i.name].toscreen()),
# mod1 + shift + letter of group = switch to & move focused window to group
Key([mod, "shift"], i.name, lazy.window.togroup(i.name)),
])
layouts = [
layout.Max(),
layout.Stack(num_stacks=2)
]
widget_defaults = dict(
font='sans',
fontsize=12,
padding=3,
)
extension_defaults = widget_defaults.copy()
screens = [
Screen(
bottom=bar.Bar(
[
widget.GroupBox(),
widget.Prompt(),
widget.WindowName(),
widget.TextBox("default config", name="default"),
widget.Systray(),
widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
],
24,
),
),
]
# Drag floating layouts.
mouse = [
Drag([mod], "Button1", lazy.window.set_position_floating(),
start=lazy.window.get_position()),
Drag([mod], "Button3", lazy.window.set_size_floating(),
start=lazy.window.get_size()),
Click([mod], "Button2", lazy.window.bring_to_front())
]
dgroups_key_binder = None
dgroups_app_rules = [] # type: List
main = None
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
floating_layout = layout.Floating(float_rules=[
{'wmclass': 'confirm'},
{'wmclass': 'dialog'},
{'wmclass': 'download'},
{'wmclass': 'error'},
{'wmclass': 'file_progress'},
{'wmclass': 'notification'},
{'wmclass': 'splash'},
{'wmclass': 'toolbar'},
{'wmclass': 'confirmreset'}, # gitk
{'wmclass': 'makebranch'}, # gitk
{'wmclass': 'maketag'}, # gitk
{'wname': 'branchdialog'}, # gitk
{'wname': 'pinentry'}, # GPG key password entry
{'wmclass': 'ssh-askpass'}, # ssh-askpass
])
auto_fullscreen = True
focus_on_window_activation = "smart"
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
# string besides java UI toolkits; you can see several discussions on the
# mailing lists, GitHub issues, and other WM documentation that suggest setting
# this string if your java app doesn't work correctly. We may as well just lie
# and say that we're a working one by default.
#
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
# java that happens to be on java's whitelist.
wmname = "LG3D"The following is my qtile.desktop file, located in /usr/share/xseesions/
[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=qtile
TryExec=qtile
Type=Application
DesktopNames=qtile
Keywords=tiling;wm;windowmanager;desktop;session;and my qtile_gnome.desktop file
[Desktop Entry]
Name=Qtile GNOME
Comment=Tiling Window Manager
TryExec=/usr/bin/gnome-session
Exec=gnome-session --session=qtile
Type=XSessionAnd my qtile.seesions file located in /usr/share/gnome-session/sessions
[GNOME Session]
Name=Qtile session
RequiredComponents=qtile;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrinterNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;After running, qtile.log contain no text, I could find any reference to qtile in any of the Xorg logs and a search of the journal reveals this
05:09:23 systemd: Stopped GNOME Session Manager (session: qtile).
05:09:19 gnome-session-b: WARNING: Unable to find required component 'qtile'
05:09:19 systemd: Starting GNOME Session Manager (session: qtile)...
05:09:19 Xsession: /etc/gdm/Xsession: Setup done, will execute: gnome-session --session=qtile
05:09:07 systemd: Stopped GNOME Session Manager (session: qtile).
05:08:58 gnome-session-b: WARNING: Unable to find required component 'qtile'
05:08:58 systemd: Starting GNOME Session Manager (session: qtile)...
05:08:58 Xsession: /etc/gdm/Xsession: Setup done, will execute: gnome-session --session=qtile
05:08:41 systemd: Stopped GNOME Session Manager (session: qtile).
05:08:27 gnome-session-b: WARNING: Unable to find required component 'qtile'
05:08:27 gnome-session-b: WARNING: Unable to find required component 'qtile'
05:08:27 gnome-session-b: gnome-session-binary[821]: WARNING: Unable to find required component 'qtile'
05:08:27 systemd: Starting GNOME Session Manager (session: qtile)...
05:08:26 Xsession: /etc/gdm/Xsession: Setup done, will execute: gnome-session --session=qtileI thought maybe it was working but pressing super+Return doesn't do anything
Any help would be much appreciated.
Thanks
Scott
Last edited by Nasica (2019-12-18 05:50:34)
Offline
Gnome is pretty tied to it's window manager, you can't just replace that with whatever you want.
You should emphasise on what your problems are when you try to start it standalone, how are you trying to start it standalone, where do you add it. Did you follow the wiki, did you read the instructions regarding starting a terminal with strg+enter (and is xterm installed)? I don't know qtile but from reading what it intends to be and do the "black screen without anything" is exactly what you should be expecting. What exactly are you expecting out of it, why do you want to use it?
Last edited by V1del (2019-12-17 12:08:02)
Offline
Good morning and thank you for your reply,
I tried to change Gnome's window manager as per their instructions in the documentation, there was even a section of Python code that needed to be added in order to avoid getting the 'something went wrong' error, but this didn't work.
For the standalone, when I start it I just get a blank screen, no cursor or anything. None of the log file seem to indicate that anything is going wrong.
I try to start it by adding an option to the X login screen by adding a qtile.desktop file to the /usr/share/xsessions directory with the following contents as per the documentation.
[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=qtile
TryExec=qtile
Type=Application
DesktopNames=qtile
Keywords=tiling;wm;windowmanager;desktop;session;This successfully places an entry on the login screen.
I followed all the instructions on wiki and their documentation. When i press super(mod4)+enter nothing happens. XTerm is installed. I also set another key binding (super+control+enter) for gnome-terminal, nothing happens when I press that either.
I also tried using the key combination to log out, nothing happens their either.
Offline
A bit more playing and I managed to solve this issue.
I was mistaken, I was using gdm.service to start gnome.
I disabled this and tried to use startx to load the default twm and I was still getting the black screen. Leading to the conclusion that there was no issue with Qtile.
I then followed the Nvidia troubleshooting guide on the wiki, specifically prepending xrandr --auto to my .xinitrc and everything came up great.
Offline