My cygwin xterm is not responding to the keyboard.
I am able to run rxvt, but when I start other X applications I have the same problem.
From the rxvt command prompt, I get the following:
$ xterm
xterm Xt error: Can't open display: :0
The contents of my XWin.0.log are:
$ cat XWin.0.log
Welcome to the XWin X Server
Vendor: The Cygwin/X Project
Release: 1.5.3.0 (10503000)
Contact: cygwin-xfree#cygwin.com
XWin was started with the following command line:
/usr/bin/XWin -multiwindow -clipboard -silent-dup-error
ddxProcessArgument - Initializing default screens
winInitializeDefaultScreens - w 1440 h 900
winInitializeDefaultScreens - Returning
Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.
GetWindowProp - pWin or name was NULL
GetWindowProp - pWin or name was NULL
GetWindowProp - pWin or name was NULL
GetWindowProp - pWin or name was NULL
GetWindowProp - pWin or name was NULL
GetWindowProp - pWin or name was NULL
GetWindowProp - pWin or name was NULL
GetWindowProp - pWin or name was NULL
Removing /tmp/.X0-lock didn't help.
See this.
First stop the server by right-clicking on the X icon in the system tray and choosing exit.
Run the startxwin.bat file that is located in /usr/bin.
Something in the back of my mind is saying "turn off Num Lock".
I'm not sure why.
Turning off Num Lock solved my problem. I was opening an xterm on a remote system running AIX, and the only key that seemed to do anything was the space bar, which typed a space. Turning off Num Lock allowed the other keys to work. (The AIX version of emacs did not have a problem.) I assume it must be special treatment of the Num Lock key in AIX 4.3 version of /usr/bin/X11/xterm
According to the Cygwin X FAQ:
8.14. Why do some menus not work if Num-Lock is on?
The problem are programs which treat Num-Lock as modifier similar to Control. The programs expect a plain click but received some strange Num-Lock-Click combination and can't associate this with the action "open menu".
Related
Specifically, this is about ArcMenu and Blur my Shell. The former used to work, the latter never did. The extensions do what they're supposed to, but the settings menu never works. I tried uninstalling every gnome package, removing all extensions incl. Folders but nothing works...
ArcMenu error:
Error: No property header_suffix on AdwPreferencesGroup
Stack trace:
_init/Gtk.Widget.prototype._init#resource:///org/gnome/gjs/modules/core/overrides/Gtk.js:55:50
_init#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/settings/Menu/ThemePage.js:148:25
ArcMenu_SubPage#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/settings/Menu/SubPage.js:29:1
ArcMenu_ThemePage#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/settings/Menu/ThemePage.js:17:1
_addSubPageToRow#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/settings/MenuPage.js:162:29
_init#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/settings/MenuPage.js:56:14
ArcMenu_MenuPage#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/settings/MenuPage.js:22:1
populateWindow#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/prefs.js:30:22
fillPreferencesWindow#/home/nick/.local/share/gnome-shell/extensions/arcmenu#arcmenu.com/prefs.js:129:19
_init#resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:27:29
ExtensionPrefsDialog#resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
OpenExtensionPrefsAsync/<#resource:///org/gnome/Shell/Extensions/js/extensionsService.js:129:33
asyncCallback#resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
run#resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
main#resource:///org/gnome/Shell/Extensions/js/main.js:22:13
run#resource:///org/gnome/gjs/modules/script/package.js:206:19
start#resource:///org/gnome/gjs/modules/script/package.js:190:8
#/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17
Blur My Shell Error:
Error: Argument object may not be null
Stack trace:
createCheckedMethod/<#resource:///org/gnome/gjs/modules/core/overrides/Gio.js:533:46
connect_to#/home/nick/.local/share/gnome-shell/extensions/blur-my-shell#aunetx/preferences/customize_row.js:72:11
General#/home/nick/.local/share/gnome-shell/extensions/blur-my-shell#aunetx/preferences/general.js:33:43
fillPreferencesWindow#/home/nick/.local/share/gnome-shell/extensions/blur-my-shell#aunetx/prefs.js:35:16
_init#resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:27:29
ExtensionPrefsDialog#resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
OpenExtensionPrefsAsync/<#resource:///org/gnome/Shell/Extensions/js/extensionsService.js:129:33
asyncCallback#resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
run#resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
main#resource:///org/gnome/Shell/Extensions/js/main.js:22:13
run#resource:///org/gnome/gjs/modules/script/package.js:206:19
start#resource:///org/gnome/gjs/modules/script/package.js:190:8
#/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17
My OS is Linux Mint 21, Gnome Version 42.4, Windowing System Wayland (Errors the same on xorg), Device Lenovo ThinkBook 14s ITL Yoga.
I tried deleting ~/.local/share/gnome-shell/extensions, as well as /usr/local/share/gnome-shell/extensions, purging and autoremoving gnome* and gdm3, then reinstalling these two packages.
I hoped that would fix it, but naught. All my extensions even kept their settings.
Any help appreciated!
When developing an application based on GTK4, a log will be printed every time it is started. How can I get rid of it?
(conquerdocker:17460): Gtk-WARNING **: 09:13:21.962: Unknown key gtk-button-images in /home/aszswaz/.config/gtk-4.0/settings.ini
(conquerdocker:17460): Gtk-WARNING **: 09:13:21.962: Unknown key gtk-menu-images in /home/aszswaz/.config/gtk-4.0/settings.ini
(conquerdocker:17460): Gtk-WARNING **: 09:13:21.963: Unknown key gtk-toolbar-style in /home/aszswaz/.config/gtk-4.0/settings.ini
If you are not concerned about having any log output when you are executing your program, you could call your program and redirect the logging output to "/dev/null", such as:
./your_program_name > /dev/null
Alternatively, since your program is most likely a GUI program and doesn't require a terminal/console window, you could set up a desktop file similar to the following example.
[Desktop Entry]
Type=Application
Name=GtkProgramName
Icon=/home/username/.local/share/icons/hicolor/48x48/apps/GTK.png
Categories=Utilities;
StartupNotify=true
Terminal=false
Exec=/path/to/your/Programs/your_program_name
The key attribute here is the "Terminal=false" attribute which will run your program without a terminal, and therefore a user would not see spurious messages. Desktop files usually are placed in the "~/.local/share/applications folder" and have a permission mask of "rw-rw-r--".
You might give those options a try.
Regards.
I've recently installed Ubuntu 20.4 LTS on one of my computers. This release of Ubuntu uses the gnome desktop manager (3.36.3) with gnome-terminal (3.36.2) by default.
In each terminal window that I open, the GNOME_TERMINAL_SCREEN environment variable is defined to "/org/gnome/Terminal/screen/some-guid", where each terminal window's GUID is unique.
Does anyone know what this variable is supposed to be used for? Is there some way of using the GUID in Xlib or XCB to identify the terminal's X window?
The $GNOME_TERMINAL_SCREEN environment variable contains an object path for D-Bus.
It is used to address a tab in the Gnome Terminal when starting a process in it, and to be signalled of its termination.
You can see the relevant part of its D-Bus interface by running this command:
dbus-send --session --type=method_call --print-reply \
--dest=org.gnome.Terminal "$GNOME_TERMINAL_SCREEN" \
org.freedesktop.DBus.Introspectable.Introspect
The output (snipped for relevance):
[...]
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!-- GDBus 2.64.6 -->
<node>
[...]
<interface name="org.gnome.Terminal.Terminal0">
<method name="Exec">
<arg type="a{sv}" name="options" direction="in"/>
<arg type="aay" name="arguments" direction="in"/>
</method>
<signal name="ChildExited">
<arg type="i" name="exit_code"/>
</signal>
</interface>
</node>
If you run dbus-monitor and open and close a Gnome Terminal tab, you can see the D-Bus communication in action.
The X Window System is not aware of what goes on in the D-Bus realm, and as far as I know Gnome Terminal does not expose any X specific information through D-Bus.
I have found one way to tie a process to the X window of a Gnome Terminal in which it is running, but it is less than ideal. Nonetheless, it may suffice for your purposes.
The idea as that when opening a Gnome Terminal window, we will generate an identifying value, and store it both in an X property of the Gnome Terminal window, and in an environment variable.
We can then later get the environment variable from the environment of the process (via /proc/<pid>/environ if needed), and scan the windows for the one which has our value in the X property.
As the window does not exist yet when opening a new Gnome Terminal, we can not set a property ourselves, but the gnome-terminal command accepts an option --role, and stores its value in the WM_WINDOW_ROLE X property of the Gnome Terminal window.
The purpose of the WM_WINDOW_ROLE X property is to uniquely identify windows belonging to the same client.
Without --role, Gnome Terminal assigns it a unique value, but you can do this yourself.
So here is a start-gnome-terminal wrapper, which you could invoke from the key binding which would normally start gnome-terminal:
#!/bin/sh
FINDWIN_ROLE=findwin-role-$(xxd -p -l 16 < /dev/urandom)
export FINDWIN_ROLE
exec gnome-terminal --role "$FINDWIN_ROLE" "$#"
To look through the windows for the property later, you could use wmctrl -l and xprop.
I have Vim 8.0.1365 with Vlime plugin (065b95f) installed and an SBCL (1.2.11) session with the start-vlime.lisp loaded, running on macOS 10.14.6 (18G87).
When I connect from Vim using \cc, the SBCL session shows vlime-sbcl - New connection from #<AIO-SBCL:AIO-FD {10048DFD63} (so the connection works) but then the debugger is invoked with an SB-KERNEL:PARSE-UNKNOWN-TYPE condition signalled.
The debugger restarts are:
0: [REMOVE-FD-HANDLER] Remove #<SB-IMPL::HANDLER INPUT on descriptor 6: #<FUNCTION AIO-SBCL::SOCKET-INPUT-CB>>
1: [ABORT ] Exit debugger, returning to top level.
(VLIME-SBCL::SOCKET-ERROR-CB #<unavailable argument> #<SB-KERNEL:PARSE-UNKNOWN-TYPE {1004BE9B23}>)
I've tried both restart options. Removing the handler gives no response, and aborting returns SBCL to the * prompt.
The connection appears to exist in Vim (though there is no success message) and can be selected when using the \ss command (I tested on (+ 3 3)).
The SWANK window just displays a -- for each use of \ss and an error message below shows:
Error detected while processing function vlime#plugin#SendToREPL[100]..vlime#ui#input#MaybeInput[33]..<SNR>42_CheckInputValidity[2]..<SNR>32_SendToREPLInputComplete:
line 2:
E716: Key not present in Dictionary: ListenerEval, [a:content, function('s:OnListenerEvalComplete')]))
E116: Invalid arguments for function(a:conn.ListenerEval, [a:content, function('s:OnListenerEvalComplete')]))
E116: Invalid arguments for function vlime#WithThread
I don't have much experience with SBCL or Lisp - this is basically a hurdle at the starting line.
What does the first restart option mean?
The PARSE-UNKNOWN-TYPE condition seems uncommon from a Google search, and not at all in relation to Vlime. What are some next steps I can take to work this out?
(Posting the comment as an answer)
A common source of error when dealing with client/server protocols is a mismatch in versions for the different parts involved. The gihub page for vlime lists dependencies and supported implementations, I'd start from there.
Also, try starting sbcl in a standalone terminal (first install quicklisp, use "rlwrap sbcl" for readline support) and then load Swank manually:
(ql:quickload :swank)
Create a server
(swank:create-server :port 4005)
And connect to it, so you can still debug errors from the terminal if there are problems with the client/server interface.
In sublime terminal (ctrl + `) every minute I got annoing lines:
Checking for updates:
Sync Enabled: True
Sync Timeout: 60000
Latest Update at: Thu Jan 1 00:00:00 1970
Thread is: Thread-4
Paths: [{'path': '', 'display': ''}]
It interrupt me from debuging sublime plugins.
How to disable this Checking for updates?
I tried 2 things to disable it:
I added line "update_check": false into /Users/maks/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings:
{
"ignored_packages":
[
"JavaScript Console",
"Vintage"
],
"update_check": false
}
And restarted sublime. But nothing...
I tried to find string 60000 in all files of sublime folder: /Users/maks/Library/Application Support/Sublime Text 3
But nothing good found. Maybe 60000 ms is default value.
Update
Created function to search text in packages and installed packages:
searchInSubl()
{
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Installed\ Packages; zgrep -e $1 *.sublime-package ; cd ../Packages; grep -R -e $1 *
}
With help of it I searched by different words: "Checking for updates", "Sync Enabled", "Sync Timeout", "60000", "Latest Update at", "Thread is", "Paths". But nothing found.
Seemingly this update is internal sublime 3 option. Don't know how to disable it...
My current version of sublime text 3 is 3083. Here how the guys solved it HERE.
Text version
Go to Preferences -> Settings-User -> and paste that line of code in the end:
"update_check": false, or "update_check": false (without last comma if it's last item in the array). After that press CTRL + S (on Windows OS) to Save file or go to File -> Save
Image version
Since Sublime Text 3 packages are in zipped .sublime-package files, you'll need to use zgrep to search them:
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Installed\ Packages
zgrep -e "Checking for updates" *.sublime-package
If nothing is found, try looking in the Packages directory:
cd ../Packages
grep -R -e "Checking for updates" *
Hopefully one of these will match a package. If so, add the package to your ignored_packages setting and restart Sublime.
If neither search works, try using other fragments of the message as your search term: "Sync Enabled", "Latest Update", etc.
Good luck!
Please Note:
This is not the same issue as this one, where setting "update_check": false in your user preferences does not stop Sublime Text 3 from displaying upgrade messages when a new build is released. This particular issue was caused by a plugin constantly printing a message to Sublime's console. As the OP commented below:
using turning off and on every single plugin, target plugin found, its name: "My Snippets" in Installed Packages folder.
Two solutions, depending on what exactly you want to accomplish.
Since I am not sure - possibly my English - so I give you two solutions.
BLOCK PACKAGE FROM UPDATING
I use Sublinter as an example.
Preferences > Package Settings > Package Control > Settings – User
... and add something like this to block package:
// Packages to not auto upgrade
"auto_upgrade_ignore": [
"SublimeLinter"
],
BLOCK SUBLIME FROM UPDATING
If you want Sublime to stop updating and you do not trust in-app update blocking solutions, just nuke 'em.
On Windows (system I use) go to:
C:\Windows\System32\drivers\etc
... and open file named 'hosts'.
You may have to move this file onto desktop, edit it and move it back to original location, as Windows may not allow any changes to it - even, if you try as Administrator.
Then add to 'hosts' file this line of code:
127.0.0.1 localhost www.sublimetext.com
127.0.0.1 localhost sublimetext.com
Version with 'www' will do, as sublime sends updates from 'www.sublimetext.com' location.
Above code will prevent any connection from your machine to 'www.sublimetext.com', hence no updates anymore.
That does not apply to packages, they need option #1.