Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

2025-04-29

How to get numeric keypad arrows working with java applications on Linux

 

From here 

Physical keys on a keyboard are mapped to key codes using xkb. Here's how I got numeric keys working with java applications (like Intellij) on a Debian derivative of Linux:

  1. Switch to root user
  2. cd /usr/share/X11/xkb/symbols
  3. cp keypad keypad.original (just in case)
  4. Edit keypad and replace all occurrences of KP_Up, KP_Down, KP_Left & KP_Right with Up, Down, Left & Right, respectively
  5. Save
  6. dpkg-reconfigure xkb-data
  7. Reboot

Now the numeric keypad will emit the regular, arrow, key codes and not the java-unrecognised, numeric keypad, arrow, key codes.

2022-05-05

Linux exFAT file system

$ sudo apt install exfatprogs
$ sudo apt autoremove
$ sudo mkfs.exfat -L DDBAK /dev/sda2
$ sudo mkdir /mnt/bak

$ echo '/dev/sda2 /mnt/bak exfat defaults,nosuid,nodev,gid=24,fmask=0007,dmask=0007,uhelper=udisks2 0 0' | sudo tee -a /etc/fstab

$ sudo mount /mnt/bak/

$ mount | grep /dev/sda2
/dev/sda2 on /mnt/bak type exfat (rw,nosuid,nodev,relatime,gid=24,fmask=0007,dmask=0007,allow_utime=0020,iocharset=utf8,errors=remount-ro,uhelper=udisks2)

 

Linux swap file

$ sudo fallocate -l 8g /mnt/8GiB.swap
$ sudo chmod 600 /mnt/8GiB.swap
$ sudo mkswap /mnt/8GiB.swap
$ sudo swapon /mnt/8GiB.swap
$ cat /proc/swaps
$ echo '/mnt/8GiB.swap swap swap defaults 0 0' | sudo tee -a /etc/fstab

$ sudo reboot

$ free -h

2022-04-18

Flac CUE splitting

linux$ sudo apt install flac shntool cuetools

$ shnsplit -o flac CDImage.flac -f CDImage.flac.cue -t '%n.%t'
$ cuetag CDImage.flac.cue ??.*.flac
$ rm CDImage.*

2022-02-19

Ubuntu linux-image (kernel) autoremove

UBUNTU STUDIO 21.4

apt list --installed 'linux-*'
apt-mark showauto 'linux-*'
apt-mark showmanual 'linux-*'
 
sudo apt-mark auto '^linux-headers-.*'
sudo apt-mark auto '^linux-image-.*'
sudo apt-mark auto '^linux-modules-.*'
 
sudo apt --purge autoremove
 
ll /boot/

2016-01-08

grub4dos 4 puppy and windows

puppy frugal install to ntfs/fat (c:\puppy\) 1-st drive 1-st partition hd0,0

menu.lst
===
timeout 1
default 0

title puppy
  root (hd0,0)
  kernel /puppy/vmlinuz psubdir=puppy pmedia=atahd pfix=fsck
  initrd /puppy/initrd.gz

title windows xp
  root(hd0,0)
  chainloader /ntldr
===

http://puppylinux.org/wikka/BootParameters
http://greenflash.su/Grub4Dos/files/boot.htm

2015-11-29

puppy linux with clonezilla live flash drive

windows @ c:
puppy iso (32bit) @ c:\tmp\
clonezilla flash key (32bit bootable) @ e:

2013-01-24

Precise Puppy 5.4 with Inspiron mini 12

Puppy Linux Precise 5.4.3 @ Dell Inspiron 1210 (mini 12) notebook.
Video is  Intel GMA500 "Poulsbo" with LCD resolution of 1280x800.

X failed to start:


There is a part of /var/log/Xorg.0.log

...
[    84.803] (II) VESA: driver for VESA chipsets: vesa
[    84.803] (II) FBDEV: driver for framebuffer: fbdev
[    84.803] (--) using VT number 4

[    84.814] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[    84.814] vesa: Ignoring device with a bound kernel driver
[    84.814] (WW) Falling back to old probe method for vesa
[    84.814] (II) Loading sub module "fbdevhw"
[    84.814] (II) LoadModule: "fbdevhw"
[    84.819] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    84.836] (II) Module fbdevhw: vendor="X.Org Foundation"
[    84.836]  compiled for 1.11.3, module version = 0.0.2
[    84.836]  ABI class: X.Org Video Driver, version 11.0
[    84.836] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    84.836] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    84.871] (EE) open /dev/fb0: No such device
[    84.871] (WW) Falling back to old probe method for fbdev
[    84.871] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    84.871] (II) UnloadModule: "vesa"
[    84.871] (II) Unloading vesa
[    84.871] (II) UnloadModule: "fbdev"
[    84.871] (II) Unloading fbdev
[    84.871] (II) UnloadModule: "fbdevhw"
[    84.871] (II) Unloading fbdevhw
[    84.871] (EE) Screen(s) found, but none have a usable configuration.
[    84.872] 
Fatal server error:
[    84.872] no screens found
[    84.872] 
Please consult the The X.Org Foundation support 
  at http://wiki.x.org
 for help. 
[    84.872] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    84.872] 
[    84.877]  ddxSigGiveUp: Closing log
[    84.877] Server terminated with error (1). Closing log file.



To get X started I have removed poulsbo modules...

# find / -name '*psb_gfx*' -o -name '*poulsbo*'
...
/lib/modules/3.2.29/kernel/drivers/staging/gma500/psb_gfx.ko
...
/lib/modules/3.2.29/kernel/drivers/gpu/stub/poulsbo.ko
...
# rm /lib/modules/3.2.29/kernel/drivers/staging/gma500/psb_gfx.ko
# rm /lib/modules/3.2.29/kernel/drivers/gpu/stub/poulsbo.ko

...and save back to USB flash drive while rebooting.


After that, Precise Puppy can run X Window System by vesa driver in this book.

2012-06-27

FTP service rising up by CentOS 6.2

Get the minimal ISO image from
ftp://mirror.xxx.yyy/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-minimal.iso
where mirror.xxx.yyy can be checked from mirror list http://www.centos.org/modules/tinycontent/index.php?id=30

have installed...


# yum update
# reboot
# yum remove kernel-2.6.32-220.el6.x86_64
# yum install man
# yum install traceroute

# yum install ntp
# vi /etc/ntp.conf
(edit)> server <X.X.X.X>
(edit)> restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# chkconfig --level 3 ntpd on
# service ntpd start

# vi /etc/rsyslog.conf
(uncoment)> $ModLoad imudp.so
(uncoment)> $UDPServerRun 514
# kill -HUP $(cat /var/run/syslogd.pid)

# yum install cronie
# service crond start

# yum install logwatch

# chkconfig --level 3 iptables off
# service iptables stop
# chkconfig --level 3 ip6tables off
# service ip6tables stop

# service --status-all
# chkconfig --list | grep '3:on'
( # find /etc/rc.d/rc3.d/ -name 'S*' | sort )

# chkconfig --level 3 nfslock off
# service nfslock stop
# chkconfig --level 3 rpcbind off
# service rpcbind stop
# chkconfig --level 3 rpcidmapd off
# service rpcidmapd stop
# chkconfig --level 3 rpcgssd off
# service rpcgssd stop
# chkconfig --level 3 netfs off
# service netfs stop
# chkconfig --level 3 fcoe off
# service fcoe stop
# chkconfig --level 3 lldpad off
# service lldpad stop
# chkconfig --level 3 iscsid off
# service iscsid stop
# chkconfig --level 3 iscsi off
# service iscsi stop

# adduser -c "<User Name>" -m -u 1001 -g users -G wheel <login>
# passwd <login>

# vi /etc/aliases; newaliases

# vi /etc/pam.d/su
(uncoment)> auth required pam_wheel.so use_uid

( if sudo installed
# vi /etc/sudoers
(uncoment)> %wheel ALL=(ALL) ALL
)

# vi /etc/ssh/sshd_config
(edit)> PermitRootLogin no
# kill -HUP `cat /var/run/sshd.pid`

# vi /etc/sysconfig/network
(del)> GATEWAY=<X.X.X.X>
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
(del)> DNS1=<X.X.X.X>
(del)> DOMAIN=x.y
...(less /etc/resolv.conf)
# service network restart

# vi /etc/hosts
(edit)> 127.0.0.1 localhost localhost.yyy.local
(edit)> ::1 localhost localhost.yyy.local
(edit)> 192.168.1.1 xxx xxx.yyy.local

# yum install telnet
# yum install bind-utils
# yum install ftp
# yum install elinks

# yum install vsftpd
# chkconfig --level 3 vsftpd on
# setsebool -P ftp_home_dir 1
(“vsftpd 500 OOPS: cannot change directory: /home/<login>” error for local users with SELinux)
# touch /etc/vsftpd/chroot_list
# chmod og-r /etc/vsftpd/chroot_list
# vi /etc/vsftpd/chroot_list
(edit)> <login>
# vi /etc/vsftpd/vsftpd.conf
(edit)> xferlog_std_format=NO
(edit)> ftpd_banner=Welcome to My Nightmare...
(edit)> chroot_local_user=YES
(edit)> chroot_list_enable=YES
(edit)> session_support=YES
(edit)> local_umask=002
# rm /var/log/xferlog
# mkdir /home/ftp
# chcon -h unconfined_u:object_r:user_home_dir_t:s0 /home/ftp/
# mkdir /home/ftp/pub
# vipw
(edit)> ftp:x:14:50:FTP User:/home/ftp/pub:/sbin/nologin
# vi /home/ftp/pub/robots.txt
(edit)> user-agent: *
(edit)> disallow: /
# service vsftpd start

# groupadd --gid 50000 ftpadmin
# groupadd --gid 50001 ftpusers
# useradd --comment "FTP Admin" --uid 50000 --gid ftpadmin --groups ftpusers -M --home /home/ftp --shell /sbin/nologin admin
# passwd admin
# useradd --comment "FTP User1" --uid 50001 --gid ftpusers -M --home /home/ftp/user1 --shell /sbin/nologin user1
# passwd user1
# mkdir /home/ftp/pub/pub
# chgrp ftpadmin /home/ftp/pub/pub
# chmod g+w /home/ftp/pub/pub
# mkdir /home/ftp/user1
# chown user1 /home/ftp/user1/
# chgrp ftpusers /home/ftp/user1/
# chmod o-rx /home/ftp/user1/
# chmod g+w /home/ftp/user1/

...

2012-02-03

Clonezilla and smartmontools (S.M.A.R.T.)

Some experience about getting S.M.A.R.T. data of a disk drives by smartctl with Live Linux (like Clonezilla).

“Start Clonezilla” window: Enter command line prompt.


$ sudo su -
Insert USB disk.
# tail -n 7 /var/log/messages
Feb  2 16:10:31 oneiric kernel: [  615.995968] USB Mass Storage support registered.
Feb  2 16:10:32 oneiric kernel: [  616.996886] scsi 4:0:0:0: Direct-Access     hp       v165w            0.00 PQ: 0 ANSI: 2
Feb  2 16:10:32 oneiric kernel: [  617.040526] sd 4:0:0:0: Attached scsi generic sg3 type 0
Feb  2 16:10:32 oneiric kernel: [  617.041683] sd 4:0:0:0: [sdc] 15773696 512-byte logical blocks: (8.07 GB/7.52 GiB)
Feb  2 16:10:32 oneiric kernel: [  617.042735] sd 4:0:0:0: [sdc] Write Protect is off
Feb  2 16:10:32 oneiric kernel: [  617.051708]  sdc: sdc1
Feb  2 16:10:32 oneiric kernel: [  617.065249] sd 4:0:0:0: [sdc] Attached SCSI removable disk
#
# mkdir /mnt/myf/
# mount -t vfat /dev/sdc1 /mnt/myf/

# smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device

See man smartctl about comand line switches of smartctl (tool of smartmontools). There is an output by --all switch below. See S.M.A.R.T. data description to understanding.
Probably, if you get something not like "SMART overall-health self-assessment test result: PASSED" (see --health switch) you need more attention or a new disk...

# smartctl --all /dev/sda >> /mnt/myf/report.txt
or
# smartctl --all /dev/sdb | less

smartctl 5.41 2011-06-09 r3365 [i686-linux-3.0.0-15-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar SE Serial ATA
Device Model:     WDC WD1200JS-00MHB1
Serial Number:    WD-WCANP1044609
Firmware Version: 10.02E01
User Capacity:    120,034,123,776 bytes [120 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Feb  2 16:39:31 2012 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x84) Offline data collection activity
     was suspended by an interrupting command from host.
     Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
     without error or no self-test has ever 
     been run.
Total time to complete Offline 
data collection:   ( 3660) seconds.
Offline data collection
capabilities:     (0x7b) SMART execute Offline immediate.
     Auto Offline data collection on/off support.
     Suspend Offline collection upon new
     command.
     Offline surface scan supported.
     Self-test supported.
     Conveyance Self-test supported.
     Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
     power-saving mode.
     Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
     General Purpose Logging supported.
Short self-test routine 
recommended polling time:   (   2) minutes.
Extended self-test routine
recommended polling time:   (  46) minutes.
Conveyance self-test routine
recommended polling time:   (   6) minutes.
SCT capabilities:         (0x103f) SCT Status supported.
     SCT Error Recovery Control supported.
     SCT Feature Control supported.
     SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0003   186   185   021    Pre-fail  Always       -       3700
  4 Start_Stop_Count        0x0032   099   099   000    Old_age   Always       -       1675
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   200   200   051    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   081   081   000    Old_age   Always       -       13912
 10 Spin_Retry_Count        0x0013   100   100   051    Pre-fail  Always       -       0
 11 Calibration_Retry_Count 0x0012   100   100   051    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1675
190 Airflow_Temperature_Cel 0x0022   047   039   045    Old_age   Always   In_the_past 53
194 Temperature_Celsius     0x0022   094   086   000    Old_age   Always       -       53
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0012   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0009   200   200   051    Pre-fail  Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Make unmount before unplugging an USB disk.
# umount /mnt/myf/
# reboot
 

2011-06-27

CentOS 5.6 tuning.

# yum update
# yum list installed
# yum remove GConf2.x86_64
# yum remove kernel-2.6.18-238.el5
# yum remove NetworkManager NetworkManager NetworkManager-glib NetworkManager-glib
# yum remove ...


# yum install ntp.x86_64
# vi /etc/ntp.conf
(edit)> server <X.X.X.X>
# vi /etc/sysconfig/ntpd
(edit)> SYNC_HWCLOCK=yes
# chkconfig --level 3 ntpd on
# service ntpd start

# adduser -c "<User Name>" -m -u 1001 -g users -G wheel <login>
# passwd <login>

# cd /home/<User Name>
# vi .bash_profile
(edit)> PATH=$PATH:/sbin:/usr/sbin:$HOME/bin

# vi /etc/aliases
(add)> root: <login>
(add)> <login>: <user@domain>
# newaliases

# vi /etc/sysconfig/iptables
(add)> -A RH-Firewall-1-INPUT -m state --state NEW -s <X.X.X.X>/<X> -m tcp -p tcp --dport 22 -j ACCEPT
# service iptables restart
# service ntpd restart

# vi /etc/sysconfig/network
(add)> FORWARD_IPV4=no
(del)> GATEWAY=<X.X.X.X>
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
(add)> GATEWAY=<X.X.X.X>
# service network restart

# vi /etc/pam.d/su
(uncoment)> auth            required        pam_wheel.so use_uid

# vi /etc/sudoers
(uncoment)> %wheel        ALL=(ALL)       ALL

# vi /etc/ssh/sshd_config
(edit)> PermitRootLogin no
(edit)> AllowTcpForwarding no
(edit)> X11Forwarding no
# kill -HUP `cat /var/run/sshd.pid`

...