Brightness keys in XFCE

This is on Dell G15 5525’s brightness keys in Linux Mint XFCE 21.1 Vera.

The installation of the system was easy-peasy and most features worked out of box.
The missing was proprietary Nvidia-drivers which resulted in a periodic warnings and ugly freezes. The thing easy to fix – e.g. via Software Center.

Then I found that brightness function keys are dead. On a basis of the discussion

https://bbs.archlinux.org/viewtopic.php?id=282356

I did the following (in a terminal – [Ctrl]+[Alt]+[t]):

First searching a device:

$ brightnessctl --list | grep -A 2 'backlight'
Device 'nvidia_0' of class 'backlight':
Current brightness: 100 (100%)
Max brightness: 100
Device 'nvidia_wmi_ec_backlight' of class 'backlight':
Current brightness: 12 (5%)
Max brightness: 255
Device 'amdgpu_bl0' of class 'backlight':
Current brightness: 47 (18%)
Max brightness: 255

Testing:

$ sudo brightnessctl --device='amdgpu_bl0' set +5%
Updated device 'amdgpu_bl0':
Device 'amdgpu_bl0' of class 'backlight':
Current brightness: 60 (24%)
Max brightness: 255
$ sudo brightnessctl --device='amdgpu_bl0' set 5%-
Updated device 'amdgpu_bl0':
Device 'amdgpu_bl0' of class 'backlight':
Current brightness: 47 (18%)
Max brightness: 255

Giving privileges to all users by the new file

$ sudo visudo /etc/sudoers.d/brightnessctl
# 2023-07-03
ALL ALL = NOPASSWD:/usr/bin/brightnessctl

And the last thing is to create shortcuts by Settings Manager – Keyboard – Application Shortcuts:

The End

VMware/VMPlayer: ‘Skipping BTF generation’ – error

Issue

After the upgrade Mint 20.3 Una do 21.0 Vanessa VMware’s VMPlayer stopped working!
Usuaully, after every update touching a kernel when I try VMPlayer I get the warnnig-window about necesary vmnet and vmmon modues update. But this time I couldn’t pass this step.

user$ sudo vmplayer #run in "xterm"

I found the error at the latest log

root# tail /tmp/vmware-root/vmware-11046.log
2023-06-21T06:06:25.906Z In(05) host-11046 |
2023-06-21T06:06:25.906Z In(05) host-11046 In file included from ./include/linux/pci.h:43,
2023-06-21T06:06:25.906Z In(05) host-11046 from /tmp/modconfig-ogPpBF/vmnet-only/compat_netdevice.h:27,
2023-06-21T06:06:25.906Z In(05) host-11046 from /tmp/modconfig-ogPpBF/vmnet-only/bridge.c:52:
2023-06-21T06:06:25.906Z In(05) host-11046 ./include/linux/pci_ids.h:2275: note: this is the location of the previous definition
2023-06-21T06:06:25.906Z In(05) host-11046 2275 | #define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07b0
2023-06-21T06:06:25.906Z In(05) host-11046 |
2023-06-21T06:06:25.906Z In(05) host-11046 Skipping BTF generation for /tmp/modconfig-ogPpBF/vmnet-only/vmnet.ko due to unavailability of vmlinux
2023-06-21T06:06:25.906Z In(05) host-11046 Unable to install all modules. See log for details.
2023-06-21T06:06:25.906Z In(05) host-11046

Solution

I found such answers for the issue:

https://communities.vmware.com/t5/VMware-Workstation-Pro/Virtual-ethernet-failed/td-p/2906720

https://communities.vmware.com/t5/VMware-Workstation-Pro/Vmware-kernal-Module-updater/td-p/2920375

and build a procedure for myself, on this basis.

As I understand README

https://github.com/mkubecek/vmware-host-modules

it’s a need to (re)build vmmon and vmnet modules for a kernel
while the rest has been upstreamed for some time.

Hands-on

$ cd #going home
$ pwd

$ git clone https://github.com/mkubecek/vmware-host-modules
Cloning into 'vmware-host-modules'…
remote: Enumerating objects: 4408, done.
remote: Counting objects: 100% (1586/1586), done.
remote: Compressing objects: 100% (351/351), done.
remote: Total 4408 (delta 1350), reused 1432 (delta 1234), pack-reused 2822
Receiving objects: 100% (4408/4408), 1.93 MiB | 3.17 MiB/s, done.
Resolving deltas: 100% (3261/3261), done.

$ cd vmware-host-modules
$ git branch -a #waht's available

* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/player
remotes/origin/player-12.5.2
remotes/origin/player-16.2.5
remotes/origin/player-16.2.x

remotes/origin/player-16.2.0
remotes/origin/player-16.2.1
remotes/origin/player-16.2.3

[q]uit

$ vmplayer --version #see what is needed
I/O warning : failed to load external entity "/etc/vmware/hostd/proxy.xml"
VMware Player 16.2.1 build-18811642

$ git checkout player-16.2.1 #switch to suitable
Branch 'player-16.2.1' set up to track remote branch 'player-16.2.1' from 'origin'.
Switched to a new branch 'player-16.2.1'

$ ls
INSTALL LICENSE Makefile README RETIRED vmmon-only vmnet-only

$ cd vmmon-only && make && cd .. #bulding vmmon module
Using kernel build system.
make -C /lib/modules/5.15.0-75-lowlatency/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-75-lowlatency'
CC [M] /home/jestem1/vmware-host-modules/vmmon-only/linux/driver.o

$ cd vmnet-only && make && cd .. #buliding vmnet module
Using kernel build system.
make -C /lib/modules/5.15.0-75-lowlatency/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-75-lowlatency'
CC [M] /home/jestem1/vmware-host-modules/vmnet-only/driver.o
CC [M] /home/jestem1/vmware-host-modules/vmnet-only/hub.o
CC [M] /home/jestem1/vmware-host-modules/vmnet-only/userif.o

$ sudo make install #installing vmmon and vmnet
----------------------------------------------------------------------------- Branch player-16.2.1 has been retired on 2022-04-04 and has not been
* receiving any updates since. Please switch to latest 16.x version
* available.
*
* Latest kernel version this branch is intended to work with is 5.17.
*-----------------------------------------------------------------------------
install -D -t /lib/modules/5.15.0-75-lowlatency/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/5.15.0-75-lowlatency/misc/vmmon.ko /lib/modules/5.15.0-75-lowlatency/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 5.15.0-75-lowlatency; fi

RESTART the system!

otherwise, re-test of a vm-entity will give an error : vmplayer could not open /dev/vmmon

seeking (linux) messages (log)

So they (a vendor) wants you to look if an application failure has a system cause?

You reported an issues on 01-11-2021 06:00. You are intersted on what happened around 6:00 A.M. that day. Raffly

# cd /var/log
# head messages #what's the oldest
Oct 31 03:06:01 apz-sagb1p rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-57.el7_9.1" x-pid="1697" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
# grep -E "^Nov\s{1,2}1 " messages | wc -l #how many records 
2873
# grep -E "^Nov\s{1,2}1 05:" messages | tail #last at 5 A.M.
Nov 1 05:37:22 the-host adclient[1870]: INFO AUDIT_TRAIL|Centrify Suite|Trusted Path|1.0|2700|Trusted path granted|5|user=the-host$@THE-DOMIAN.NET pid=1870 utc=1635741442012 centrifyEventID=23700 DASessID=N/A DAInst=N/A status=GRANTED server=ldap/vdz0dc0001.the-domian.net@THE-DOMIAN.NET
Nov 1 05:40:01 the-host systemd: Created slice User Slice of root.
Nov 1 05:40:01 the-host systemd: Started Session 236 of user root.
Nov 1 05:40:01 the-host systemd: Removed slice User Slice of root.
Nov 1 05:40:46 the-host adclient[1870]: INFO AUDIT_TRAIL|Centrify Suite|Trusted Path|1.0|2700|Trusted path granted|5|user=the-host$@THE-DOMIAN.NET pid=1870 utc=1635741646815 centrifyEventID=23700 DASessID=N/A DAInst=N/A status=GRANTED server=ldap/an-ldap-srv.the-domian.net@THE-DOMIAN.NET
Nov 1 05:50:01 the-host systemd: Created slice User Slice of root.
Nov 1 05:50:01 the-host systemd: Started Session 237 of user root.
Nov 1 05:50:01 the-host systemd: Removed slice User Slice of root.
Nov 1 05:51:01 the-host adclient[1870]: INFO AUDIT_TRAIL|Centrify Suite|Trusted Path|1.0|2700|Trusted path granted|5|user=the-host$@THE-DOMIAN.NET pid=1870 utc=1635742261852 centrifyEventID=23700 DASessID=N/A DAInst=N/A status=GRANTED server=ldap/vdz0dc0001.the-domian.net@THE-DOMIAN.NET
Nov 1 05:51:01 the-host adclient[1870]: INFO AUDIT_TRAIL|Centrify Suite|Trusted Path|1.0|2700|Trusted path granted|5|user=the-host$@THE-DOMIAN.NET pid=1870 utc=1635742261889 centrifyEventID=23700 DASessID=N/A DAInst=N/A status=GRANTED server=ldap/an-ldap-srv.the-domian.net@THE-DOMIAN.NET
# grep -E "^Nov\s{1,2}1 06:" messages | head #first at 6 A.M.
Nov 1 06:00:01 hostanme systemd: Created slice User Slice of root.
Nov 1 06:00:01 hostname systemd: Started Session 238 of user root.
Nov 1 06:00:01 hostname systemd: Removed slice User Slice of root.
Nov 1 06:00:18 hostname somethingd: CEF:0|YOUR APPLICATION....
grep -E "^Nov\s{1,2}1 06:[0-1]" messages | cut -c1-120 #first 19 minutes and cut long lines 

sed for csv debug

Instead of fancy and sophisticated thoughts lets share a daily experience 😉

You’ve collected data.csv:

field1,filed2,filed3
A,B,C
D,E,F
f,a,i,l
H,I,J
L,M,N

and while importing to a DB (sqlite in this example) you’ve got:

sqlite> .mode csv
sqlite> .import data.csv data
data.csv:4: expected 3 columns but found 4 - extras ignored

Now, how to find faulty records (while actually source csv is 5G heavy)?

$ sed -n "/\(.*,\)\{3,\}/p" data.csv
f,a,i,l 
Notice that: 
\ - are escape characters for parentheses
( ) - that are enclosing a seeking pattern .*,
{ } - sets a condition of 3 cases at least

One may ask in what circumstances it is relevant? Consider a collection of financial transactions originated from many countries and locales before a normalization – data.csv could look like:

country,currency,value
UK,GBP,1,000.00
IT,EUR,9.999,99
SE,SEK,99999,99

Communication to cooperation

I see a change coming from a private experience, transforming the professional life. We are less email-client-oriented with its calendar, notes, tasks. We incorporate chat tools enriched by cooperative enhancements.

Weisure?

I was wondering, should this site be a professional advertisement or just a hobby-related? But the true is that nowadays we mix it often. A year ago I learned ‘weisure’-word on an english class and here is the definition: https://www.macmillandictionary.com/dictionary/british/weisure

Register Machine

RodRego (visiting click in ‘i’ for a hint) – a simple toy, so called Register Machine, but the real educational help. I’m much impressed that it was developed by a philosopher for his students. The simplicity remainds me Core Wars of ’80. By the way, how many present coders have ever tried an assembler, machine code? 
More food for your thought to find in a recommended “Intuition Pumps and Other tools for Thinking”* by Daniel C. Dennett

*) “Dźwignie wyobraźni i inne narzędzia do myślenia”

Nowości

W dziale “Foto” pierwsze ujęcia z Izraela (z 2017 roku), oraz dodane kolejne, z odbytej wówczas wycieczki do Jordanii.
Skolei, w “Jak” artykulik na temat jak wyłączyć pewne ustawienie dot. dysków, powodujące uciążliwe zarzanie zwirtualizowanego Win10.

Powrót

Po dwóch miesiącach nieobecności, gdy moja strona musiała być technicznie zamknięta, bo została zarażona malware, wracam.

Objawy i rozwiązanie opisane jest dość dobrze tutaj: Malware not removed
Podczas diagnozowania pomocne było zmigrowanie strony na lokalny serwerek, gdzie mogłem wyłapać próby dostępu do wskazanej strony hotopponents

Your Software Is Not the Best

Warte zachowania – Sean Kennedy: „My Career with VFX Software (or, Your Software Is Not the Best)” – wpadłem na to szukając jakiejś „technicznej” informacji. Cytat na zachętę:
Then, in 2005, another friend invited me to come work at Cafe FX on Sin City. They used Fusion for compositing(,..)
The first two weeks, once again, I was paranoid that I would be fired at any moment.(…)

oraz tegoż autora: https://openvisualfx.com/software/