Skip to main content

Posts

Showing posts from November, 2022

find bat power in watt

cat pwr ------------------------------------------ echo - | awk "{printf \"%.1f\", \ $(( \   $(cat /sys/class/power_supply/BAT0/current_now) * \   $(cat /sys/class/power_supply/BAT0/voltage_now) \ )) / 1000000000000 }" ; echo " W " ------------------------------------------     

vim foot

 cat .vimrc ---------------------------------- set nu set nocompatible filetype plugin on set ruler set showcmd syntax on set mouse=a set ttymouse=sgr set termguicolors let &t_8f = "\<Esc>[38:2::%lu:%lu:%lum" let &t_8b = "\<Esc>[48:2::%lu:%lu:%lum" let &t_TI = "\<Esc>[>4;2m" let &t_TE = "\<Esc>[>4;m" call plug#begin() Plug 'vim-airline/vim-airline' Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'dracula/viim', { 'name': 'dracula' } Plug 'mcchrish/nnn.vim' call plug#end() nnoremap <C-n> :Vexplor:e<CR> "dracula theme "vim airline font let g:airline_powerline_fonts = 1 "coc nvim " Some servers have issues with backup files, see #649. set nobackup set nowritebackup set updatetime=300 set signcolumn=yes " Use tab for trigger completion with characters ahead and navigate. " " NOTE: There'

find and limit no of process(forks)

 cat /etc/security/limits.conf    *    soft core 0 *    hard core 0 *    hard nproc 1000 *    hard rss 10000 *    -    maxlogins 2 *           hard    nice       -19 root        hard    nice       -20   ps h -Led -o user | sort | uniq -c | sort -n    1 messagebus      78 root     304 kai  one extra browser tab adds 30-60 process   ps H -u $USER | wc -l   ps H -u root | wc -l ulimit -u -S ulimit -a

mount some img file

  #mount img with partition P=create partitioned loop device f=find first unused loop device doas losetup  -fP chrome.img  ls /dev/loop* /dev/loop0  /dev/loop0p1  /dev/loop0p10  /dev/loop0p11  /dev/loop0p12  /dev/loop0p2  /dev/loop0p3  /dev/loop0p4  /dev/loop0p5  /dev/loop0p6  /dev/loop0p7  /dev/loop0p8  /dev/loop0p9  /dev/loop-control  sudo cgpt show /dev/loop0        start        size    part  contents            0           1          PMBR (Boot GUID: 1777E1D8-D6B6-A145-8D37-1476C93A350A)            1           1          Pri GPT header            2          32          Pri GPT table      5152768     8401025       1  Label: "STATE"                                   Type: Linux data                                   UUID: DF2075B2-BEF2-6E4C-B4EC-80612230225A           69       32768       2  Label: "KERN-A"                                   Type: ChromeOS kernel                                   UUID: 94B3221B-F6C8-8045-9864-4CF18CA6BD5F                           

new lyrics mpv

 https://github.com/yogeshwaran01/lyricy  depends socat,jq,pip,python3 pip install lyricy help lyricy show ' Imagine Dragons - Believer.mp31 lyricy search --query " new york " --save " new_york " lyricy add track.mp3 --lrc track.lrc    cat .config/mpv/mpv.conf input-ipc-server=/tmp/mpv-socket   nano lrc.sh  -------------------------------------------------------------------------- #!/bin/bash name=$(printf %s\\n  '{ "command": ["get_property", "filename"] }' | socat - /tmp/mpv-socket  | jq -r .data  ) [ "$name" ] || exit 1 lrc_path=$(printf %s\\n '{ "command": ["get_property", "path"] }' | socat - /tmp/mpv-socket | jq -r .data) lrc_path=${lrc_path%.*}.lrc case $lrc_path in     /*) ;;     *) lrc_path=$(printf %s\\n '{ "command": ["get_property", "working-directory"] }' | socat - /tmp/mpv-socket | jq -r .data)/$lrc_path esac [ -e "$lrc_

selinux

       context user:role:type:sensitivity(optional) example user_u:user_r:user_t system_u:object_r:lib_t     policy   allow user_t bin_t:file { execute }; allow user_t user_bin_t:file { execute };   Access controls type enforcement , role-based access control and user-based access control . type enforcement   selinux rules are written for it. allow user_t lib_t : file { execute }; access vector contains - the source context (such as user_t ) - the target context (such as lib_t ) - the class of the target (such as file ) - the activity that is invoked (such as execute )   ls /sys/fs/selinux/class   ls /sys/fs/selinux/class/file/perms/ ls /sys/fs/selinux/class/tcp_socket/perms/       Role-based access control Roles are like caps that a user can put on. A user is always assigned to a role, but can decide to switch roles.In SELinux, roles decide which types a process context can be in.Types for processes are also called domains user_r, staff_r, sysadm_r, dbadm_r, seinfo -ruser_r -x

apt alias .bashrc

alias pku='doas apt update' alias pki='doas  apt install' alias pkr='doas apt autoremove' alias pkp='doas apt purge' alias pkl='apt list --installed' alias pkf='apt search' alias pks='apt show' alias pkuu='doas apt full-upgrade'

awesome wm config

  mkdir -p ~/.config/awesome/ cp /etc/xdg/awesome/rc.lua ~/.config/awesome/     ##battery low notification  -- battery warning -- created by bpdp local function trim(s) return s:find'^%s*$' and '' or s:match'^%s*(.*%S)' end local function bat_notification() local f_capacity = assert(io.open("/sys/class/power_supply/BAT0/capacity", "r")) local f_status = assert(io.open("/sys/class/power_supply/BAT0/status", "r")) local bat_capacity = tonumber(f_capacity:read("*all")) local bat_status = trim(f_status:read("*all")) if (bat_capacity <= 10 and bat_status == "Discharging") then naughty.notify({ title = "Battery Warning" , text = "Battery low! " .. bat_capacity .."%" .. " left!" , fg="#ff0000" , bg="#deb887" , timeout = 15 , position = "bottom_left" }) en

udisk rule for polkit-1

cat  /etc/polkit-1/localauthority/50-local.d/10-udisks.pkla                   [udisks1] Identity=unix-user:kai Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach ResultAny=yes ResultActive=yes [udisks2] Identity=unix-user:kai Action=org.freedesktop.udisks2.filesystem-mount;org.freedesktop.udisks2.filesystem-mount-system;org.freedesktop.udisks2.encrypted-unlock;org.freedesktop.udisks2.eject-media;org.freedesktop.udisks2.power-off-drive ResultAny=yes ResultActive=yes [udisks2-other-seat] Identity=unix-user:kai Action=org.freedesktop.udisks2.filesystem-mount-other-seat;org.freedesktop.udisks2.filesystem-unmount-others;org.freedesktop.udisks2.encrypted-unlock-other-seat;org.freedesktop.udisks2.eject-media-other-seat;org.freedesktop.udisks2.power-off-drive-other-seat ResultAny=yes ResultActive=yes