mooz / xkeysnail

Yet another keyboard remapping tool for X environment
890 stars 112 forks source link

Stops working frequently #135

Open xpusostomos opened 3 years ago

xpusostomos commented 3 years ago

Several times a day xkeysnail seems to stop working... whereupon I'll kill it and restart it. I haven't done a lot of investigation on what might cause it.... but is this just me, or do other people experience this? I'm using Ubuntu 21.04 and often use both a dock and a KVM switch, but that doesn't seem to be the cause.

luizoti commented 3 years ago

No, there are two problems I've identified with Xkey, both during opening it. If you have the same problem, try follow my PR, in this issue you can find it: #125

Exception ignored in: <function InputDevice.__del__ at 0x7faabe96c700>
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/evdev/device.py", line 160, in __del__
  File "/usr/local/lib/python3.8/dist-packages/evdev/device.py", line 305, in close
  File "/usr/local/lib/python3.8/dist-packages/evdev/eventio_async.py", line 55, in close
  File "/usr/lib/python3.8/asyncio/events.py", line 722, in get_event_loop_policy
  File "/usr/lib/python3.8/asyncio/events.py", line 715, in _init_event_loop_policy
ImportError: sys.meta_path is None, Python is likely shutting down
masutaka commented 3 years ago

FYI: I had a problem of "Stuck control key" #68. Once I removed the setting define_conditional_modmap, I was able to avoid that problem.

luizoti commented 3 years ago

How is your config? I've never used this option, is there any PR fixing?

luizoti commented 3 years ago

Several times a day xkeysnail seems to stop working... whereupon I'll kill it and restart it. I haven't done a lot of investigation on what might cause it.... but is this just me, or do other people experience this? I'm using Ubuntu 21.04 and often use both a dock and a KVM switch, but that doesn't seem to be the cause.

If this error is happening to you, this custom script of mine may solve it, it reinstalls xkeysnail with its dependencies, some packages are not directly connected to Xkeysnail and can be removed from the script.

I believe that installing xkeysnail can be done in a virtualenv, maybe it will resolve permanently if it is not updated.

# 
REPO=$1
# GETMOUNT=$(which getmount)

# if [[ -f "${GETMOUNT}" ]]; then
#     eval $("${GETMOUNT}" -all) 
# fi

PYTHON_VERSION="python3"
XKEY_TEMP=/tmp/xkeysnail

XKEYSNAILDOWNLOAD () {
    if [[ -d ${REPO} ]]; then
        cd ${REPO}
    elif [[ ! -d "${XKEY_TEMP}" ]]; then
        git clone --depth 1 "https://github.com/luizoti/xkeysnail.git" "${XKEY_TEMP}"
    fi
}

XKEYSNAILINSTALL () {
    echo
    echo " # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # "
    echo " #                               Xkeysnail Installer Script                            # "
    echo " # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # "
    echo
    echo "  Upgrade pip wide install"
    echo
    sudo apt update
    sudo apt autoremove -y
    echo
    sudo apt install  --no-install-recommends "${PYTHON_VERSION}" -y
    sudo apt install libdbus-1-dev libdbus-glib-1-dev -y
    sudo apt install python3-pip -y
    echo
    sudo $(which "${PYTHON_VERSION}") -m pip install --upgrade --ignore-installed pip setuptools
    sudo $(which "${PYTHON_VERSION}") -m pip install testresources dbus-python apscheduler six
    cd "${XKEY_TEMP}"
    sudo $(which "${PYTHON_VERSION}") setup.py build 
    sudo $(which "${PYTHON_VERSION}") setup.py install
    sudo -u "${USER}" xhost +SI:localuser:root
    sleep 2
}

XKEYSNAILDOWNLOAD
XKEYSNAILINSTALL
joshgoebel commented 2 years ago

I haven't done a lot of investigation on what might cause it..

A log or crash report would help here... unless you can provide that not really much we can do to help since no one else seems to be running into this issue...