Sunday, March 28, 2021

Recent Questions - Unix & Linux Stack Exchange

Recent Questions - Unix & Linux Stack Exchange


How can I configure /etc/hosts file to point to a .html file on a different server?

Posted: 28 Mar 2021 03:47 PM PDT

Server

I have a xyz.conf file on the server in the /etc/apache2/sites-enabled directory. The index.html file is in the /var/www/domain1/ directory. **

Desktop

Now, I have to view that index.html webpage on this desktop server. What changes should I make in the /etc/hosts file to view it. Here is a snippet of hosts file

 Host addresses  192.168.10.12   server02  127.0.0.1  localhost  127.0.1.1       thakurke-dtop.localdomain thakurke-dtop  ::1        localhost ip6-localhost ip6-loopback  ff02::1    ip6-allnodes  ff02::2    ip6-allrouters    192.168.10.13   thakurke-dtop.localdomain thakurke-dtop  

192.168.10.12 is the IP address of that server

Who can create /run/sshd directory on Raspberry-Pi if not ssh.service?

Posted: 28 Mar 2021 03:39 PM PDT

I have an image of Raspberry-Pi, on which I am trying to make sshd running ("corrupted"). On another image, it is already runnung ("good").

On both images I have:

# cat ssh.service  [Unit]  Description=OpenBSD Secure Shell server  After=network.target auditd.service  ConditionPathExists=!/etc/ssh/sshd_not_to_be_run    [Service]  EnvironmentFile=-/etc/default/ssh  ExecStartPre=/usr/sbin/sshd -t  ExecStart=/usr/sbin/sshd -D $SSHD_OPTS  ExecReload=/usr/sbin/sshd -t  ExecReload=/bin/kill -HUP $MAINPID  KillMode=process  Restart=on-failure    [Install]  WantedBy=multi-user.target  Alias=sshd.service  

i.e. no RuntimeDirectory directive. Nevertheless, "good" image starts ssh, while "corrupted" one does not.

#systemctl start ssh  

fails.

If I create directory by hands

mkdir /run/sshd  

the command

#systemctl start ssh  

is starting to work.

The question is: how is it possible for ssh service to work without RuntimeDirectory directive? Who can create it for it?

Kwin, xdotool, and wmctrl

Posted: 28 Mar 2021 02:48 PM PDT

I have been trying to do something similar to what described in this thread and create commands to arrange windows in KDE beyond the quicktile functions currently available. I love them, but they are a bit limited when dealing with ultrawide monitors.

I've explored multiple approaches using xdotool and wmctrl, and they all work well, except they fail when the windows to be modified have have been quicktiled. Basically, Kwin does changes some property of these windows that make them insensitive to any of the above commands.

xwininfo does not show any differences before and after quicktiling, so it must be something more subtle.

I've tried every single option I could think about, so now I'm lost. Any suggestions?

Blocking domain on host, results in blocking domain on guest VM (QEMU/KVM)

Posted: 28 Mar 2021 03:27 PM PDT

Desired Outcome

I want to block a.com on a host machine, but allow it on a guest VM.

Details

On a Linux Mint host machine I have dnsmasq running. The dnsmasq.conf file blocks domain a.com with address=/a.com/127.0.0.1 as desired.

I have QEMU/KVM installed on this host and created a guest VM also running Linux Mint with dnsmasq. Pinging a.com on the VM results in pointing to 127.0.0.1, effectively blocking a.com on the VM which is not what I want.

I'm assuming this has something to do with the network configuration on the VM, but I'm not sure.

Halt/crash after waking from suspend - Pop!_OS 20.04 lts kernel 5.4, 5.8- AMD GPU (rx 5600xt)

Posted: 28 Mar 2021 01:25 PM PDT

I'm running into issues trying to get my system to wake from sleep.

Specifically, after waking from suspend the system will accept input for a few seconds from mouse and keyboard then the screen will freeze/lockup.

Caps lock is still responsive and the mouse also seams functional, but the cursor doesn't move on screen.

I've done the classic sudo apt update && sudo apt upgrade.

I've also tried adding amdgpu.gpu_recovery=1 to the end of my boot parameters in case it was an issue re initializing the GPU

I've tried supplied 5.4 and 5.8 kernels, both from stock and building from source, in addition to trying out the 5.9 and 5.10 upstream kernels (from source) just in case.

System is a HP Dual Xeon x5670 workstation with 144 GBs of ECC Ram and the following add in cards (output of LSPCI), with my gpu being an amd rx 5600xt

05:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03)  08:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)  0b:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch (rev ca)  0c:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch  0d:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev ca)  0d:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio  14:00.0 Non-Volatile memory controller: Silicon Motion, Inc. Device 2263 (rev 03)  

I've also attached my kernel .config (I rebuilt the kernel from source just to try and see if that was the issue as well)

https://pastebin.com/p0K7ixxJ

Xorg detects no displays with an Intel UHD 630

Posted: 28 Mar 2021 01:50 PM PDT

Setup

I'm trying to build a new media PC, and chose a low-power Intel Core i5 10600T processor, which has an integrated UHD 630 graphics chip. The motherboard is an ASUS Prime B560M-A and the display used is a Sony Bravia KDL-55W905A. I am using Debian testing (Bullseye), XFCE and lightdm.

Problem details

It seems that no displays are detected by the graphics chip at all. I get graphics at boot time and in BIOS, but when the system tries to start X, the screen goes blank permanently. Nothing is displayed in the X terminal and regular terminals cannot be accessed with for ex. Ctrl-Alt-F[something].

However, as expected, the computer responds normally to SSH access and I can interact with it remotely.

The Xorg log file is here: https://pastebin.com/XCpjxe3y

The offending line seems to be this: [ 3.859] (WW) modeset(0): No outputs definitely connected, trying again...

lspci -v gives this output which seems fine:

00:02.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630]                                                                                                                                                      (rev 03) (prog-if 00 [VGA controller])          DeviceName: Onboard - Video          Subsystem: ASUSTeK Computer Inc. UHD Graphics 630          Flags: bus master, fast devsel, latency 0, IRQ 140, IOMMU group 1          Memory at 6000000000 (64-bit, non-prefetchable) [size=16M]          Memory at 4000000000 (64-bit, prefetchable) [size=256M]          I/O ports at 3000 [size=64]          Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]          Capabilities: [40] Vendor Specific Information: Len=0c <?>          Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00          Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-          Capabilities: [d0] Power Management version 2          Capabilities: [100] Process Address Space ID (PASID)          Capabilities: [200] Address Translation Service (ATS)          Capabilities: [300] Page Request Interface (PRI)          Kernel driver in use: i915          Kernel modules: i915  

dmesg log shows problems with the video card at 1.046225, 1.061414, 1.063566 and 1.063917: https://pastebin.com/M1DCCDZ4

What have I tried

For the record, I have an older and slower media PC machine with Core i5 4590T and its integrated graphics chip. This system works perfectly fine with the same TV.

  • The motherboard has two HDMI outputs and one DP output. None of these work.
  • Different cables have been tried, including cables which work with the same TV and the older media PC machine.
  • When booting from an Ubuntu liveCD, The exact same thing happens.
  • I cannot access xrandr to check on displays, because X does not start.
  • Setting i915.modeset=0 in grub config gets me to X at 1024x768 (only). In this state, xrandr runs, but does does not seem to give any sensible output and the resolution cannot be changed from X settings.
  • Finally, the xserver-xorg-video-intel package description states that it should not be used for systems newer than 2007. I have uninstalled the package, but this did not seem to have any effect. The Xorg log after this has been done is here: https://pastebin.com/MwqvwmWL

I'm at my wit's end. Of course I could order a low-end graphics card and add it to the system, but would prefer not to. Any help is appreciated.

Additional questions

As said, if I set i915.modeset=0, I get to X, but the graphics are severely limited. I am also unsure about what the option truly does internally. Can I work with this state in some way to force a better resolution? Does HW acceleration work in this state?

How can I kill a process that kills the computer if it hangs?

Posted: 28 Mar 2021 02:44 PM PDT

I would like to write a script that detects when my Ubuntu machine hangs for more than 10 seconds, for example, and kills the offending process so I don't have to force-power-off my device.

The problem seems to be that my RAM overfills sometimes (I have 8 GB, but I'm working with RAM disks and more then one virtual/guest OS, sometimes I play a game with over 1000 entities). The RAM can't swap fast enough because my HDD is slow, but I don't want to repair that because I'll get more RAM soon.

I just want to have a script that kills a very resource-intensive process if my computer hangs. How can I go about that?

Uh, EDIT: I sometimes can hear sound, mouse works in very most cases if hangs... But keyboard like crashed and I can't go to login-shell with alt+ctrl+cmd/windows/super F4/F5/F6 and it doesn't looks that it fixes byself (kernel is still alive, HDD makes sometimes noices, but I leaved it already more then an hour: no fix, HDD noices not hearable, maybe every minute one

Pyhton script executed in rc.local does not log, unless with a non-zero code

Posted: 28 Mar 2021 02:16 PM PDT

My rc.local service executes a python script on startup: it works fine but it doesn't log anywhere, unless an error occurres and exits with a non-zero code. This script runs scheduled operations, therefore it will run pending in background, unless an error occurres or it's stopped manually.

This is how my rc.local looks like:

#!/bin/sh -e  #  # rc.local  #  # This script is executed at the end of each multiuser runlevel.  # Make sure that the script will "exit 0" on success or any other  # value on error.  #  # In order to enable or disable this script just change the execution  # bits.  #  # By default this script does nothing.      cd /root/path/to/script  /root/path/to/script/venv/bin/python /root/path/to/script/main.py &  exit 0  

I checked syslog file with cat /var/log/syslog | grep rc.local but it only logs when thread starts or stops (the same information of systemctl status rc-local.service):

Mar 28 12:49:07 machine-hostname systemd[1]: Starting /etc/rc.local Compatibility...  Mar 28 12:49:07 machine-hostname systemd[1]: Started /etc/rc.local Compatibility.  

I tried to redirect the output to an external file by overriding stdout in python script, but it doesn't work. I use a virtual environment to avoid the installation of various required python dependencies (like requests or schedule), could it be the cause of the problem? I'm new to python and linux worlds, so maybe I'm doing some configuration mistakes

PS: I need to move in the script execution folder because the python script runs openvpn command internally, and it needs its configuration files that are in the script execution folder. Here's an example of systemctl status rc-local.service command output:

● rc-local.service - /etc/rc.local Compatibility     Loaded: loaded (/lib/systemd/system/rc-local.service; enabled-runtime; vendor preset: enabled)    Drop-In: /lib/systemd/system/rc-local.service.d             └─debian.conf     Active: active (running) since Sun 2021-03-28 12:49:07 CEST; 1h 32min ago       Docs: man:systemd-rc-local-generator(8)    Process: 10033 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)      Tasks: 2 (limit: 4915)     CGroup: /system.slice/rc-local.service             ├─10038 /root/path/to/script/venv/bin/python /root/path/to/script/main.py             └─10068 openvpn configuration-file.ovpn    mar 28 12:49:07 machine-hostname systemd[1]: Starting /etc/rc.local Compatibility...  mar 28 12:49:07 machine-hostname systemd[1]: Started /etc/rc.local Compatibility.  

Here's a script snippet:

import requests  import os  import subprocess  import shutil  import fileinput  import schedule  import time  from urllib.request import urlopen      # global variables declaration  ...    # functions declaration  ...      if __name__ == '__main__':      print('Starting VPN connection...')      server_list = get_server_list(max_servers_limit) # calls a public api      connect(server_list) # executes openvpn command        print('Scheduling VPN connection change every {} hours'.format(change_vpn_every_hours))      schedule.every(change_vpn_every_hours).hours.do(change_vpn_connection)        print('Scheduling internet connection checking every {} minutes'.format(check_internet_connection_minutes))      schedule.every(check_internet_connection_minutes).minutes.do(check_internet_connection)      while True:          schedule.run_pending()          time.sleep(1)  

How to change .profle and have the setting effective without sourcing .profile every time or needing to reboot?

Posted: 28 Mar 2021 02:43 PM PDT

If it is on the Mac or on Ubuntu, sometimes we have to add a path to PATH:

https://stackoverflow.com/questions/33725639/npm-install-g-less-does-not-work-eacces-permission-denied

# add the following to ~/.profile   export PATH=~/.npm-global/bin:$PATH  

However, we have to keep using

source ~/.profile  

in any new Bash window if we don't reboot our machine. We could put that PATH line in .bashrc, but it is said that we should only put that PATH setting in .profile: https://superuser.com/questions/183870/difference-between-bashrc-and-bash-profile

So it is a bit of dilemma here: if we don't reboot, we can't have that path in all our Bash shells. But we may not be able to reboot due to many apps running on our machine, and rebooting and retrying is time consuming as well.

Is there a way to make the change, have it in all our Bash shells, but not needing to reboot the computer?

Is it safe to run tune2fs -l /dev/device on a mounted filesystem?

Posted: 28 Mar 2021 01:40 PM PDT

Is it safe to run tune2fs -l /dev/device on a mounted filesystem? That is, listing the current values (I'm trying to do this to see if the filesystem is marked as clean).

If it's ok, is there a definitive source where this is documented so that I can rest assured I won't corrupt something?

Thanks

Custom Kernel module not being loaded

Posted: 28 Mar 2021 03:04 PM PDT

I've modified a kernel module (qcaspi) and recompiled it, however my modifications aren't being called (checked dmesg) when the OS boots up.

Instead, the old kernel module is being run.

If I reload the module with rmmod and modprobe then my changes DO get called.

What's going on there? Where is the OS finding the old module if I modified it and now have a new .ko file?

Any possible conflict between using both --force-confold and --force-confnew with dpkg?

Posted: 28 Mar 2021 01:54 PM PDT

Essentially, I'm using this answer to have a non-interactive experience with application such as dpkg, apt and other ones that may depend on the former.

problem though is, is there any conflict between those two flags, when used together?

I'm asking because, as i understand it:

apt-get -o Dpkg::Options::="--force-confdef"  

Use the default setting (depending on package, i believe some either replace old config, and some leave the old one, unless I'm mistaken)

and

apt-get -o Dpkg::Options::="--force-confnew"  

Keep the new config instead...

So I'm a bit confused as to why certain sources mention two of these flags, even though they may or may not conflict with each other (tried them but don't know any packages that would launch debconf unless i run dist-upgrade and wait for the right package to do that).

Do i just need a single one of those instead or both?

why are the definition of true and false in stdbool.h the exact opposite from the UNIX programs true and false?

Posted: 28 Mar 2021 01:14 PM PDT

stdbool.h is usually defined as:

#define false   0  #define true    1  

(Sources: OpenBSD, musl, etc.)

whereas the unix program false - which just has a unsuccessful status code, is defined as:

int  main(int argc, char *argv[])  {      return (1);  }  

for completeness, the definition of the unix program true is:

int  main(int argc, char *argv[])  {      return (0);  }  

So clearly, it is the complete opposite of the value of false in stdbool.h. I have used the version from OpenBSD as the version from coreutils is more verbose

What is the historical reason to make these different?

How to config systemd to force ALL local drive mounts (no network devices) before GDM/GUI?

Posted: 28 Mar 2021 01:46 PM PDT

I am trying to identify the unit precedence/pre-requisite sequencing related to disk mounting and Graphical Display Manager for the UbuntuMATE 20.04 environment.

Trying to resolve issue of non-access to non-root partition, causing system "auto-recovering" by designating "/home/user" directory as the info source for what is displayed on the user desktop, when "/home/user/Desktop" is a symbolic link pointing to a different partition, "/DB001_F2/home/user.Desktop".

So far ...

# systemctl get-default  graphical.target  #  

and

# systemctl list-dependencies graphical.target  ...(snip)...  ●   │ │ ├─local-fs.target  ●   │ │ │ ├─-.mount  ●   │ │ │ ├─DB001_F2.mount  ●   │ │ │ ├─DB001_F3.mount  ●   │ │ │ ├─DB001_F4.mount  ...(snip)...  #  

I need to know how to tweak the config file for local-fs.target (*.conf file or *.wants directory entry ???), or if I need to create a custom file, for which I have no clue as to the content required.

My environment is UbuntuMATE 20.04:
Desktop: MATE 1.24.0
Distro: Ubuntu 20.04.2 LTS (Focal Fossa)
Kernel: 5.4.0-67-generic x86_64

P.S. Full pared-down systemd tree of targets is as follows:

graphical.target  ● ├─accounts-daemon.service  ● ├─apport.service  ● ├─cpufrequtils.service  ● ├─e2scrub_reap.service  ● ├─grub-common.service  ● ├─hddtemp.service  ● ├─lightdm.service  ● ├─loadcpufreq.service  ● ├─systemd-update-utmp-runlevel.service  ● ├─udisks2.service  ● └─multi-user.target  ●   ├─...(snip)...  ●   └─basic.target  ●     ├─...(snip)...  ●     └─sysinit.target  ●       ├─...(snip)...  ●       └─local-fs.target  ●         ├─-.mount  ●         ├─DB001_F2.mount      <<< Need to ensure this is fully mounted and accessible  ●         ├─...(snip)...  ●         ├─systemd-fsck-root.service  ●         └─systemd-remount-fs.service  

(added March 27) The appearance of the desktop is currently as follows:

enter image description here

which is displaying the contents of the "${HOME}" directory as if it were "${HOME}/Desktop" .

(added March 28) The ".xsession-errors" file is the only thing I can think of for a hint of what is happening. At the end, it says "$HOME" is malformed. Here is the relevant segment from start until error is encountered:

# more .xsession-errors    dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus  dbus-update-activation-environment: setting DISPLAY=:0  dbus-update-activation-environment: setting XAUTHORITY=/home/ericthered/.Xauthority  dbus-update-activation-environment: setting GTK_MODULES=appmenu-gtk-module:gail:atk-bridge:canberra-gtk-module  dbus-update-activation-environment: setting QT_ACCESSIBILITY=1  dbus-update-activation-environment: setting SHELL=/bin/bash  dbus-update-activation-environment: setting QT_ACCESSIBILITY=1  dbus-update-activation-environment: setting XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg  dbus-update-activation-environment: setting XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0  dbus-update-activation-environment: setting LANGUAGE=en_CA:en  dbus-update-activation-environment: setting DESKTOP_SESSION=mate  dbus-update-activation-environment: setting GTK_MODULES=appmenu-gtk-module:gail:atk-bridge:canberra-gtk-module  dbus-update-activation-environment: setting PWD=/home/ericthered  dbus-update-activation-environment: setting XDG_SESSION_DESKTOP=mate  dbus-update-activation-environment: setting LOGNAME=ericthered  dbus-update-activation-environment: setting QT_QPA_PLATFORMTHEME=gtk2  dbus-update-activation-environment: setting XDG_SESSION_TYPE=x11  dbus-update-activation-environment: setting GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1  dbus-update-activation-environment: setting XAUTHORITY=/home/ericthered/.Xauthority  dbus-update-activation-environment: setting XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ericthered  dbus-update-activation-environment: setting GDM_LANG=en_CA  dbus-update-activation-environment: setting HOME=/home/ericthered  dbus-update-activation-environment: setting IM_CONFIG_PHASE=1  dbus-update-activation-environment: setting LANG=en_CA.UTF-8  dbus-update-activation-environment: setting XDG_CURRENT_DESKTOP=MATE  dbus-update-activation-environment: setting XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0  dbus-update-activation-environment: setting XDG_SESSION_CLASS=user  dbus-update-activation-environment: setting GTK_OVERLAY_SCROLLING=0  dbus-update-activation-environment: setting USER=ericthered  dbus-update-activation-environment: setting DISPLAY=:0  dbus-update-activation-environment: setting SHLVL=1  dbus-update-activation-environment: setting UBUNTU_MENUPROXY=1  dbus-update-activation-environment: setting XDG_RUNTIME_DIR=/run/user/1000  dbus-update-activation-environment: setting COMPIZ_CONFIG_PROFILE=mate  dbus-update-activation-environment: setting XDG_DATA_DIRS=/usr/share/mate:/usr/local/share:/usr/share:/var/lib/snapd/desktop  dbus-update-activation-environment: setting PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin  dbus-update-activation-environment: setting GDMSESSION=mate  dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus  dbus-update-activation-environment: setting _=/usr/bin/dbus-update-activation-environment  mate-session[1437]: WARNING: Unable to find provider '' of required component 'dock'  Window manager warning: Log level 128: unsetenv() is not thread-safe and should not be used after threads are created  Window manager warning: Log level 128: Name com.canonical.AppMenu.Registrar does not exist on the session bus    mate-session[1437]: WARNING: Could not launch application 'indicator-datetime.desktop': Unable to start application: Failed to execute child process "  /usr/lib/x86_64-linux-gnu/indicator-datetime/indicator-datetime-service" (No such file or directory)  cannot create user data directory: /home/ericthered/snap/ubuntu-mate-welcome/611: Not a directory    (caja:1733): Gtk-WARNING **: 15:31:10.074: Failed to register client: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Unable to register clien  t    (process:1962): indicator-sound-WARNING **: 15:31:10.146: volume-control-pulse.vala:744: Unable to connect to dbus server at 'unix:path=/run/user/1000  /pulse/dbus-socket': Could not connect: No such file or directory  blueman-applet 15.31.12 WARNING  PluginManager:147 __load_plugin: Not loading DhcpClient because its conflict has higher priority  blueman-applet 15.31.12 WARNING  PluginManager:147 __load_plugin: Not loading PPPSupport because its conflict has higher priority    (mate-settings-daemon:1701): Gtk-WARNING **: 15:31:12.508: gtk_widget_size_allocate(): attempt to allocate widget with width -1 and height 28    ** (mate-screensaver:1754): WARNING **: 15:31:13.992: Screensaver already running in this session  INFO:root:The HUD is disabled via org.mate.hud in gsettings.  RuntimeError: object at 0x7fedf7823440 of type RenameMenu is not initialized  RuntimeError: object at 0x7fedf7d31d00 of type FolderColorMenu is not initialized  blueman-applet 15.31.17 WARNING  DiscvManager:109 update_menuitems: warning: Adapter is None  JavaScript error: resource:///modules/AddrBookCard.jsm, line 197: NS_ERROR_NOT_AVAILABLE: PreferDisplayName: undefined - not a boolean  Window manager warning: Log level 16: Visible region is null  Window manager warning: Log level 16: Visible region is null  Window manager warning: Log level 16: Visible region is null  Traceback (most recent call last):    File "/usr/share/caja-python/extensions/dejadup.py", line 156, in get_file_items      include_paths = self.dejadup.get_dejadup_paths('include-list')    File "/usr/share/caja-python/extensions/dejadup.py", line 70, in get_dejadup_paths      paths = ast.literal_eval([stdout][0]) # Convert shell dump to list    File "/usr/lib/python3.8/ast.py", line 99, in literal_eval      return _convert(node_or_string)    File "/usr/lib/python3.8/ast.py", line 98, in _convert      return _convert_signed_num(node)    File "/usr/lib/python3.8/ast.py", line 75, in _convert_signed_num      return _convert_num(node)    File "/usr/lib/python3.8/ast.py", line 66, in _convert_num      _raise_malformed_node(node)    File "/usr/lib/python3.8/ast.py", line 63, in _raise_malformed_node      raise ValueError(f'malformed node or string: {node!r}')  ValueError: malformed node or string: b"['$HOME']\n"  ...(snip)...   (multiple repeats of the "Traceback" report)  

I don't know how to translate that into a corrective action.

Also, is there any way to specify that "multi-user.target" must be reached as a first target before attempting other targets for "graphical.target", or is there a dependency of which I am not aware of which would make that an impossible precondition?

How to get a list of unused kernel modules of currently running system? (Static and loaded)

Posted: 28 Mar 2021 03:31 PM PDT

There are a lot of interesting kernel modules. Thanks to the linux kernel, I now know there is such a thing as a "Lego Infrared Tower".

I'm trying to slim down my linux kernel beyond the point of things I obviously dont need.

To do this, I need a programmatic way to find the unused kernel modules currently in my system.

I know about 'lsmod'. But that's very far away from what I'm looking for.

*** The reverse approach - by elimination ***

What I might need to achieve this result is a way to determine which statically compiled and loaded modules currently are in use. These are the ones selected by "*" in the menuconfig and not just "M"

I think i already might a way to "cross out" each of those modules in the .config file of the current kernel, because it is possible to map module names to config names using a grep command as described here:

Binding lsmod module name with kernel configuration menu entry

though I am not sure how consistently that will work.

So what I have already is the .config file and the kernel sources and that grep command from that link above. The bottleneck is the first list of statically-used and loadedly- used kernel modules.

This is perhaps a "best effort" question. It is as difficult to completely clean a kernel as it is to completely clean a bedroom. When my bedroom is clean, there is still some dust here and there. These are the same expectations I would expect for an answer to this question.

With any resulting list, more manual filtering will be needed, because I dont think I am constantly using things like DNS name resolutions, though I do need those intermittently.

But there has to be faster way to clean a kernel than recompiling the kernel every few hours with less and less modules each time. Or is there a more common strategy?

Disable repo which is matching the value via ansible

Posted: 28 Mar 2021 01:54 PM PDT

This is written incorrectly. we want to disable all repos except the rhel & epel one.

- name: yum-clean-metadata    command: yum clean metadata    args:      warn: no    - name: Repos disabled if not rhel.repo    debug: msg={{ lookup('fileglob', '/etc/yum.repo.d/rhel.repo') }}    yum:      name:       disablerepo: "ora,ol7_latest"    - name: Ensure the yum package index is up to Date    yum:      update_cache: yes      name: '*'      state: latest  

Screensharing on bspwm makes the mouse unresponsive on the shared monitor

Posted: 28 Mar 2021 01:34 PM PDT

The problem

When I screenshare an entire screen using Discord or Firefox, the shared screen becomes completely unresponsive to my mouse. Stopping the screenshare doesn't fix the problem. Window-sharing works fine.

  • My mouse can't click anything on the shared screen, nor scroll. There are no hovering effects (for example: in Spotify, hovering over buttons should make them bigger and green, links should be underlined, that doesn't happen on the frozen screen)
  • The keyboard still works. Video still works, everything still moves fine.
  • Using keyboard shortcuts, I can still change desktops on the frozen screen.
  • Moving a window from the 'frozen' screen to a different one (using keyboard shortcuts) makes that window clickable again. Moving it back undoes it, indicating that it is definitely the screen and not the window that stops responding to clicks.
  • Clicking away dunst notifications works. My rofi start menu opens fine and is interactive.
  • Screen recording works fine with SimpleScreenRecorder and OBS.
  • Taking screenshots on the frozen screen works using spectacle: I can click and drag a rectangle on the frozen screen to take a cropped screenshot (if I open spectacle on another monitor of course, otherwise I wouldn't be able to click the Take a new screenshot button)
  • This has been happening for many months, maybe a year.
  • My bspwm settings are set so that if I hover over a window, that window becomes focused. On the frozen screen, only the last focused window becomes focused. I can't focus between two windows using the mouse, but bspwm does notice that my mouse is on that screen.

Screensharing in Chromium

In Chromium, you can see a tab for screens, and a tab for applications:

The screens tab

The applications tab

If I share a screen from the application tab (for instance eDP-1-1 = my laptop screen), it triggers the problem. If I share a screen from the 'Your entire screen' tab, it doesn't.

Screensharing in Firefox & Discord

They don't actually show you screens when choosing a screen to share, it shows you applications:

The screensharing picker in Firefox

The xxx-1-1 names you see are the names of the video outputs. Sharing one of those triggers the problem. People watching don't see anything. On discord it crashes. If I click on 'Entire screen', it shares all my monitors as if they were one screen.

In discord, it works the same way, but the screensharing immediately crashes. The unresponsive mouse problem still triggers on the shared screen.

Logs

Running Firefox in a terminal and screensharing outputs the following output when I start sharing:

[GFX1-]: Failed GL context creation for WebRender: 0  [GFX1-]: FEATURE_FAILTURE_WEBRENDER_INITIALIZE_UNSPECIFIED  [GFX1-]: Failed to connect WebRenderBridgeChild.  [GFX1-]: Compositors might be mixed (5,1)  

Using xprop on a window on the frozen screen gives the following output:

WM_STATE(WM_STATE):          window state: Normal          icon window: 0x0  WM_NAME(STRING) = "eDP-1-1"  WM_CLASS(STRING) = "root", "Bspwm"  

If I use xprop on a non-frozen empty desktop, I get the same message (which is expected). xprop seems to think the selected window on the frozen screen is the root bspwm class.

Screensharing with Discord crashes and outputs the following line in terminal when I start sharing:

[WebContents] crashed... reloading  
  • There is nothing in dmesg.
  • There is nothing in journalctl.
  • There is nothing in /var/log/Xorg.0.log.

What I've tried already

  • Closing ALL windows on all screens fixes the frozen screen (so does logging out/rebooting).
  • Killing and restarting polybar makes polybar clickable again on the frozen screen. All other windows on the frozen screen will still be unresponsive.
  • I tried screensharing with compton disabled
  • I tried screensharing without Nvidia's DRM KMS
  • I tried running Firefox in safe mode
  • I tried disabling hardware acceleration in both Firefox and Discord
  • I tried only connecting one monitor instead of 3
  • I tried using i3 instead of bspwm. i3 only shows the windows and 'Entire screen', which would show all screens if more than one screen is connected. I can't pick a single screen.
  • I tried using awesomewm, same result as i3.

My system

zjeffer@Arch-zjeffer   --------------------   OS: Arch Linux x86_64   Host: 80WK Lenovo Y520-15IKBN   Kernel: 5.11.1-arch1-1   Uptime: 12 hours, 2 mins   Packages: 1606 (pacman)   Shell: zsh 5.8   Resolution: 1920x1080, 1920x1080, 1920x1080   WM: bspwm   Theme: Nordic-Polar [GTK2/3]   Icons: Papirus-Light-nordic-blue-folders [GTK2/3]   Terminal: gnome-terminal   CPU: Intel i7-7700HQ (8) @ 2.800GHz   GPU: NVIDIA GeForce GTX 1050 Mobile   GPU: Intel HD Graphics 630   Memory: 2662MiB / 7845MiB  
  • bpswm
  • compton, this fork
  • nvidia 460.39-11, with Nvidia's DRM KMS
  • xorg-server 1.20.10-3
  • lightdm 1:1.30.0-4

Some questions

I have some questions that might help me troubleshoot this issue:

  1. What software/technology do Firefox and Discord use to share screens? Do Chromium and Microsoft Teams use different software?

  2. What software/technology does bspwm use to share screens? i3 doesn't even provide the option to share a particular screen, so they must use different technologies.

  3. What else can I provide (logs, system info, ...)?

Why does "get-pip.py" complain about invalid syntax?

Posted: 28 Mar 2021 03:49 PM PDT

I am trying to install pip3 without having sudo privileges following the answer provided here. The first step is to execute the following:

wget https://bootstrap.pypa.io/get-pip.py  

It seems to work without problems. However, when I execute the second step:

python3 get-pip.py --user  

I get the following error message:

Traceback (most recent call last):    File "get-pip.py", line 24226, in <module>      main()    File "get-pip.py", line 199, in main      bootstrap(tmpdir=tmpdir)    File "get-pip.py", line 82, in bootstrap      from pip._internal.cli.main import main as pip_entry_point    File "<frozen importlib._bootstrap>", line 969, in _find_and_load    File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked    File "<frozen importlib._bootstrap>", line 896, in _find_spec    File "<frozen importlib._bootstrap_external>", line 1139, in find_spec    File "<frozen importlib._bootstrap_external>", line 1115, in _get_spec    File "<frozen importlib._bootstrap_external>", line 1096, in _legacy_get_spec    File "<frozen importlib._bootstrap>", line 444, in spec_from_loader    File "<frozen importlib._bootstrap_external>", line 533, in spec_from_file_location    File "/tmp/tmphdj_zdji/pip.zip/pip/_internal/cli/main.py", line 60      sys.stderr.write(f"ERROR: {exc}")                                     ^  SyntaxError: invalid syntax  

I thought that the problem was that I did not specify my user-name after --user. However, it does not help. I still get the same error.

Does anyone know what I am doing wrong?


ADDED:

As it was suggested in comments, the problem might be caused by the fact that get-pip.py works only for python 3.6 version or higher and I have version 3.5.

To overcome the problem I have tried:

curl https://bootstrap.pypa.io/3.5/get-pip.py | python3  

It has been executed without errors. As output I got:

Successfully installed pip-20.3.4 setuptools-50.3.2 wheel-0.36.2  

Sign Kernel Modules

Posted: 28 Mar 2021 02:59 PM PDT

So i am on a debian buster 10 system and i installed virtualbox and i encountered an error which tells me to load some kernel modules manually.

sudo ./vboxconfig   [sudo] password for user:  vboxdrv.sh: Stopping VirtualBox services.  vboxdrv.sh: Starting VirtualBox services.  vboxdrv.sh: You must sign these kernel modules before using VirtualBox:   vboxdrv vboxnetflt vboxnetadp  See the documenatation for your Linux distribution..  vboxdrv.sh: Building VirtualBox kernel modules  

So i just need some help to load the vboxdrv, vboxnetflt and vboxnetadp kernel modules to complete my virtual box installation and i am not too sure how this is done. I am using a UEFI system which has secure boot enabled.

Simple command-line calculator

Posted: 28 Mar 2021 02:39 PM PDT

Issue:

Every now and then I need to do simple arithmetic in a command-line environment. E.G. given the following output:

Disk /dev/sdb: 256GB  Sector size (logical/physical): 512B/512B  Partition Table: gpt  Disk Flags:     Number  Start   End     Size    File system     Name  Flags   1      1049kB  106MB   105MB   fat32                 hidden, diag   2      106MB   64.1GB  64.0GB  ext4   3      64.1GB  192GB   128GB   ext4   5      236GB   256GB   20.0GB  linux-swap(v1)  

What's a simple way to calculate on the command line the size of the unallocated space between partition 3 and 5?

What I've tried already:

bc

bc  bc 1.06.95  Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.  This is free software with ABSOLUTELY NO WARRANTY.  For details type `warranty'.   236-192  44  quit

where the bold above is all the stuff I need to type to do a simple 236-192 as bc 1+1 echoes File 1+1 is unavailable.

expr

expr 236 - 192  

where I need to type spaces before and after the operator as expr 1+1 just echoes 1+1.

What is using my swap space?

Posted: 28 Mar 2021 02:56 PM PDT

On a Debian Linux 3.16 machine, I have 244 MB of swap space used:

# free -h               total       used       free     shared    buffers     cached  Mem:           94G        36G        57G       1.9G       3.8G        11G  -/+ buffers/cache:        20G        73G  Swap:         487M       244M       243M  

Looking at this, I cannot find 244 MB used.

# for file in /proc/*/status ; do grep VmSwap $file; done | sort -nk 2 | tail  VmSwap:        0 kB  VmSwap:        0 kB  VmSwap:        0 kB  VmSwap:        0 kB  VmSwap:        0 kB  VmSwap:        0 kB  VmSwap:        4 kB  VmSwap:       12 kB  VmSwap:       16 kB  VmSwap:       36 kB  

And I only have 34 MB of SwapCached:

# grep -i swap /proc/meminfo  SwapCached:        34584 kB  SwapTotal:        499708 kB  SwapFree:         249388 kB  

Kernel doc says about this:

SwapCached: Memory that once was swapped out, is swapped back in but still also is in the swapfile (if memory is needed it doesn't need to be swapped out AGAIN because it is already in the swapfile. This saves I/O)

How can I know which process is using my swap space on my Linux system? More precisely: Where are consumed each of those 244 MB of swap?

KDE global menu disappeared in Plasma 5.12

Posted: 28 Mar 2021 03:59 PM PDT

I upgraded to plasma 5.12 and the global menus disappeared, and the entry in settings also disappeared.

Application Style ⇒ Widget Style ⇒ Fine Tuning

I tried deleting the plasma* files from ~/.config and also the whole ~/.kde folder thinking it may be some misconfiguration, but none of this helped.

comparison before and after

How to choose Qt installation?

Posted: 28 Mar 2021 02:56 PM PDT

I've build (configure, make, make install) Qt 5.4.2 from sources on my Debian 7.8 x64. Now, I try to build Qt Creator, but my system is unable to locate this specific Qt build.

Firstly, I tried to set $QTDIR and $PATH, but it didn't work. Then, I have read that it is necessary to use qtchooser. So, this is what I have so far:

ber@mydeb:/usr/lib/x86_64-linux-gnu/qtchooser$ qtchooser -l  4  5  @5  @qt5  default  qt4-x86_64-linux-gnu  qt4  qt5-x86_64-linux-gnu  qt5  

Initially, there was no default conf, but I've created it using the following:

ber@mydeb:/usr/lib/x86_64-linux-gnu/qtchooser$ sudo nano default.conf  

with the text:

QT_SELECT="5"  QTTOOLDIR="/usr/local/Qt-5.4.1/bin"  QTLIBDIR="/usr/local/Qt-5.4.1/"  

After this, my system still used a wrong Qt installation (from the /usr/lib/x86_64-linux-gnu/folder) which does not contain a working Qt installation.

Then, I tried to set QT_SELECT=default, then QT_SELECT=5 and here is what I have now:

qtchooser -print-env  QT_SELECT="qt5"  QTTOOLDIR="QT_SELECT="5""  QTLIBDIR="QTTOOLDIR="/usr/local/Qt-5.4.1/bin""  

i.e. QTTOOLDIR=variable is wrong and here is an error displayed when I try to use qmake:

qmake -v  qmake: could not exec 'QT_SELECT="5"/qmake': No such file or directory  

What should I do to choose the correct Qt installation (the one installed to the /usr/local/Qt-5.4.1/ folder)?

How do I directly expose apps running on a CentOS 7 web server?

Posted: 28 Mar 2021 04:01 PM PDT

How can I open a port and directly access a webapp running on tomcat on CentOS 7? Tomcat is running behind an apache httpd reverse proxy, but I want to directly access the apps running in tomcat by opening a port to directly expose each app for testing purposes.

When I open up ports 8080 and 8081 in firewalld using firewall-cmd --add-port=8080/tcp and firewall-cmd --add-port=8081/tcp, I am able to access the apps running on those ports when I type server.ip.addr:8080 or server.ip.addr:8081, or anydomainontheserver.com:8080 or anydomainontheserver.com:8081. Those apps are also accessible when I access them through httpd.

However, when I try to access the apps running on ports 8082, 8083, and 8084 directly, I get 404 errors in reply. This is the case even though the apps running on ports 8082 and 8083 are 100% accessible through httpd via their domain names. And the app running on port 8084 is mostly accessible via httpd via its domain name. In each case, I typed in firewall-cmd --add-port=808x and tried to access the apps via server.ip.addr:808x and anydomainontheserver.com:808x, but got 404 errors in each case. I even tried opening ports for their ajp ports in firewalld and typing server.ip.addr:80xx and anydomainontheserver.com:80xx in the browser but was given a browser error message that said the pages could not be retrieved without specifying the error number.

So how can I access the apps running on ports 8082, 8083, and 8084 directly through tomcat for testing purposes?

Typing firewall-cmd --list-all gives:

public (default, active)    interfaces: enp3s0    sources:     services: dhcpv6-client http imaps openvpn smtp ssh    ports: 8009/tcp 8083/tcp 8011/tcp 8084/tcp 8010/tcp 8080/tcp 8081/tcp 8013/tcp 8012/tcp 8082/tcp    masquerade: yes    forward-ports:     icmp-blocks:     rich rules:  

Typing nano /etc/httpd/conf.d/virtualhosts.conf gives:

<VirtualHost *:443>      ServerName www.vpndomain.com      ServerAlias vpndomain.com      ErrorLog /var/log/httpd/vpndomain_com_error.log      CustomLog /var/log/httpd/vpndomain_com_requests.log combined      SSLEngine on      SSLProxyEngine on      SSLCertificateFile /etc/pki/tls/certs/localhost.crt      SSLCertificateKeyFile /etc/pki/tls/private/localhost.key      ProxyPass / ajp://server.ip.addr:8009/      ProxyPassReverse / ajp://server.ip.addr:8009/  </VirtualHost>    Listen 444    <VirtualHost *:444>      ServerName www.vpndomain.com      ServerAlias vpndomain.com      ErrorLog /var/log/httpd/vpndomain_com_error.log      CustomLog /var/log/httpd/vpndomain_com_requests.log combined      SSLEngine on      SSLProxyEngine on      SSLCertificateFile /etc/pki/tls/certs/localhost.crt      SSLCertificateKeyFile /etc/pki/tls/private/localhost.key      ProxyPass / ajp://server.ip.addr:8010/      ProxyPassReverse / ajp://server.ip.addr:8010/  </VirtualHost>    <VirtualHost www.domain1.com:80>      ServerName www.domain1.com      ServerAlias domain1.com      ErrorLog /var/log/httpd/domain1_com_error.log      CustomLog /var/log/httpd/domain1_com_requests.log combined      ProxyPass / ajp://server.ip.addr:8011/      ProxyPassReverse / ajp://server.ip.addr:8011/  </VirtualHost>    <VirtualHost www.domain2.com:80>      ServerName www.domain2.com      ServerAlias domain2.com      ErrorLog /var/log/httpd/domain2_com_error.log      CustomLog /var/log/httpd/domain2_com_requests.log combined      ProxyPass / ajp://server.ip.addr:8012/      ProxyPassReverse / ajp://server.ip.addr:8012/  </VirtualHost>    <VirtualHost www.domain3.com:80>      ServerName www.domain3.com      ServerAlias domain3.com      ErrorLog /var/log/httpd/domain3_com_error.log      CustomLog /var/log/httpd/domain3_com_requests.log combined      ProxyPass / ajp://server.ip.addr:8013      ProxyPassReverse / ajp://server.ip.addr:8013  </VirtualHost>  

And typing `nano /opt/tomcat/conf/server.xml gives:

<?xml version='1.0' encoding='utf-8'?>    <Server port="8005" shutdown="SHUTDOWN">    <Listener className="org.apache.catalina.startup.VersionLoggerListener" />    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />    <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />      <GlobalNamingResources>      <Resource name="UserDatabase" auth="Container"                type="org.apache.catalina.UserDatabase"                description="User database that can be updated and saved"                factory="org.apache.catalina.users.MemoryUserDatabaseFactory"                pathname="conf/tomcat-users.xml" />    </GlobalNamingResources>      <Service name="Catalina">      <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />      <Engine name="Catalina" defaultHost="localhost">            <Realm className="org.apache.catalina.realm.LockOutRealm">                <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>            </Realm>            <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">                 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                     prefix="ermapp_access_log" suffix=".txt"                     pattern="%h %l %u %t &quot;%r&quot; %s %b" />            </Host>      </Engine>    </Service>      <Service name="Upload">      <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" />      <Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />      <Engine name="Catalina" defaultHost="localhost">        <Realm className="org.apache.catalina.realm.LockOutRealm">          <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>        </Realm>          <Host name="localhost"  appBase="webapps_upload" unpackWARs="true" autoDeploy="true">          <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                 prefix="uploadapp_access_log" suffix=".txt"                 pattern="%h %l %u %t &quot;%r&quot; %s %b" />        </Host>      </Engine>    </Service>      <Service name="Public">        <Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />        <Connector port="8011" protocol="AJP/1.3" redirectPort="8445" />        <Engine name="Catalina" defaultHost="localhost">            <Realm className="org.apache.catalina.realm.LockOutRealm">                <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>            </Realm>            <Host name="domain1.com"  appBase="webapps_public" unpackWARs="true" autoDeploy="true">                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                    prefix="domain1_access_log" suffix=".txt"                    pattern="%h %l %u %t &quot;%r&quot; %s %b" />            </Host>        </Engine>    </Service>      <Service name="domain2">        <Connector port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8446" />        <Connector port="8012" protocol="AJP/1.3" redirectPort="8446" />        <Engine name="Catalina" defaultHost="localhost">            <Realm className="org.apache.catalina.realm.LockOutRealm">                <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>            </Realm>            <Host name="domain2.com"  appBase="webapps_domain2" unpackWARs="true" autoDeploy="true">                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                    prefix="domain2_access_log" suffix=".txt"                    pattern="%h %l %u %t &quot;%r&quot; %s %b" />            </Host>        </Engine>    </Service>      <Service name="domain3">        <Connector port="8084" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8447" />        <Connector port="8013" protocol="AJP/1.3" redirectPort="8447" />        <Engine name="Catalina" defaultHost="localhost">            <Realm className="org.apache.catalina.realm.LockOutRealm">                <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>            </Realm>            <Host name="domain3.com"  appBase="webapps_domain3" unpackWARs="true" autoDeploy="true">                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                    prefix="domain3_access_log" suffix=".txt"                    pattern="%h %l %u %t &quot;%r&quot; %s %b" />            </Host>        </Engine>    </Service>    </Server>  

dzen2 how to detect actual resolution and number of monitors

Posted: 28 Mar 2021 03:57 PM PDT

I use dzen2 with xmonad like this on my laptop:

 h <- spawnPipe "dzen2 -fn fixed -x 0 -y 800 -h 21 -w 1280 -ta l -fg '#ffffff' -bg '#663300' -e ''"  

However there are some problems with it.

  • If I use an external monitor alone with an other resolution it doesn't stay on the bottom of the screen (I guess since I set -y 800). However it should detect this automatically and position on the bottom of the screen.
  • Same with width (for example when using a beamer). However it should set automatically the maximum width.
  • If I use multiple monitors it is only on one monitor, but it would be great to have copies of it on each monitor.

How can I fix those issues?

Why Linux inside KVM gets busy after I put the host to suspend-to-ram?

Posted: 28 Mar 2021 03:00 PM PDT

I run another Linux instance inside KVM on my laptop.

When I suspend-to-ram the laptop and wake it up again, the guest Linux starts consuming 100% CPU for some time (maybe proportional to the sleep time) and becomes completely irresponsive. After it finally unstucks itself, I see BUG: soft lockup - CPU#0 stuck for 22s.

Why does it happen? How do I prevent this?

Note: The question is not about pausing (suspeding) the VM or guest system. It is about the disruption caused by host's suspend-to-ram.

xorg.conf XkbOption ignored for terminate:ctrl_alt_bksp to restart X

Posted: 28 Mar 2021 02:01 PM PDT

I want Ctrl+Alt+Bksp to restart X, so I created an xorg.conf rule:

/usr/share/X11/xorg.conf.d/53-zap.conf:

Section "ServerFlags"      Option "DontZap" "false"  EndSection    Section "InputClass"      Identifier      "Keyboard Defaults"      MatchIsKeyboard "yes"      Option          "XkbOptions" "terminate:ctrl_alt_bksp"  EndSection  

And checking /var/log/Xorg.0.log:

[  1023.598] (II) XINPUT: Adding extended input device "Asus WMI hotkeys" (type: KEYBOARD, id 11)  [  1023.598] (**) Option "xkb_rules" "evdev"  [  1023.598] (**) Option "xkb_model" "pc105"  [  1023.598] (**) Option "xkb_layout" "us"  [  1023.598] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"  [  1023.598] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event3)  [  1023.598] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"  [  1023.598] (**) AT Translated Set 2 keyboard: Applying InputClass "Keyboard Defaults"  [  1023.598] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'  [  1023.598] (**) AT Translated Set 2 keyboard: always reports core events  [  1023.598] (**) evdev: AT Translated Set 2 keyboard: Device: "/dev/input/event3"  [  1023.598] (--) evdev: AT Translated Set 2 keyboard: Vendor 0x1 Product 0x1  [  1023.598] (--) evdev: AT Translated Set 2 keyboard: Found keys  [  1023.598] (II) evdev: AT Translated Set 2 keyboard: Configuring as keyboard  [  1023.598] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input3/event3"  [  1023.598] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id   12)  [  1023.598] (**) Option "xkb_rules" "evdev"  [  1023.598] (**) Option "xkb_model" "pc105"  [  1023.598] (**) Option "xkb_layout" "us"  [  1023.598] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"  

The last line shows that it sees the directive.

And yet, when I open a terminal and type setxkbmap -print -verbose 10

Setting verbose level to 10  locale is C  Trying to load rules file ./rules/evdev...  Trying to load rules file /usr/share/X11/xkb/rules/evdev...  Success.  Applied rules from evdev:  rules:      evdev  model:      pc105  layout:     us  Trying to build keymap using the following components:  keycodes:   evdev+aliases(qwerty)  types:      complete  compat:     complete  symbols:    pc+us+inet(evdev)  geometry:   pc(pc105)  xkb_keymap {      xkb_keycodes  { include "evdev+aliases(qwerty)" };      xkb_types     { include "complete"  };      xkb_compat    { include "complete"  };      xkb_symbols   { include "pc+us+inet(evdev)" };      xkb_geometry  { include "pc(pc105)" };  };  

I can force the option, setxkbmap -option terminate:ctrl_alt_bksp, giving me:

...  model:      pc105  layout:     us  options:    terminate:ctrl_alt_bksp  Trying to build keymap using the following components:  ...  

And I test it and it restarts X correctly.

I don't understand. I had this working last week, but now it doesn't load the XkbOption from the xorg.conf file. Is there another layer that sets XKB settings that I don't know about?

I'm using Ubuntu 13.10, but with xmonad. I load some gnome utilities (gnome-panel, gnome-screensaver, gnome-keyring-demon), but not gnome-settings-daemon.

How can I prevent Windows from overwriting GRUB when using a dual-boot machine

Posted: 28 Mar 2021 02:24 PM PDT

I've been reading a lot about dual-booting, and it seems as easy as loading Windows and then loading Linux with GRUB, but everybody says that Windows loves to trash GRUB when it gets the opportunity. What are some steps I can take to prevent this from happening (other than using Windows' bootloader, I want to keep this as simple as possible)?

Debian dhcpd "No subnet declaration for eth0"

Posted: 28 Mar 2021 03:01 PM PDT


I am trying to set up a pxe boot server on a Debian 6.0.3 Squeeze machine that gives images of PLoP Linux. I was following a this tutorial.
When I try to start dhcpd (from package dhcp3-server), I get the following:

No subnet declaration for eth0 (10.0.0.0).  **Ignoring requests on eth0. If this is not what    you want, please write a subnet delclaration    in your dhcpd.conf file for the network segment     to which interface eth0 is attached. **        Not configured to listen on any interfaces!  

My /etc/dhcpd.conf is identical to that in the tutorial save for a few changes:

host testpc {          hardware ethernet 00:0C:6E:A6:1A:E6;          fixed-address 10.0.0.250;  }  

is instead

host tablet {          hardware ethernet 00:02:3F:FB:E2:6F;          fixed-address 10.0.0.249;  }  

My /etc/network/interfaces is:

# The loopback network interface  auto lo  iface lo inet loopback    # The primary network interface  allow-hotplug eth0  iface eth0 inet static          address 10.0.0.0          netmask 255.255.255.0  

And this is my /etc/default/isc-dhcp-server:

# Defaults for dhcp initscript  # sourced by /etc/init.d/dhcp  # installed at /etc/default/isc-dhcp-server by the maintainer scripts    #  # This is a POSIX shell fragment  #    # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?  #       Separate multiple interfaces with spaces, e.g. "eth0 eth1".  INTERFACES="eth0"  

which I copied to /etc/default/dhcp3-server as well, unsure which it would check.

I also tried setting the ip in /etc/network/interfaces as 10.0.0.1 and 10.0.0.2, but it produced the same result.

Script to monitor folder for new files?

Posted: 28 Mar 2021 02:57 PM PDT

How can I immediately detect when new files added to a folder within a script? I would like the script to process files as soon as they are created in the folder. Are there any methods aside from scheduling a job that checks for new files each minute or so?

No comments:

Post a Comment