En vrac
Sur cette page, des liens, des mini astuces glanées au fil du temps, et autres choses trop courtes pour faire un article.
Contenu
Rien à voir
- Le motarologue : 10 erreurs à ne pas faire quand on organise une balade à moto
- Ma Check-list de Festival
Liens Bash
- Greg’s Wiki, plein de choses sur bash assez poussées
- Shellscript.sh : Des cours, des astuces, …
- Shell scripts matter
- Pure bash bible
- Bash exit traps
- Bash “strict” mode
- Collection de ressources Bash
- Du formatage Bash pour le PS1
Transfert / partage de gros fichiers
- SwissTransfer (Suisse)
- TransferNow (Français)
Plus d’informations : Quelles alternatives à WeTransfer ? sur le blog de Gandi.net
Question sysadmin pour entretien + réponses
Libs pythons qui valent le coup
Attention, pour des variables faut utiliser le formatage à l’ancienne : "{autored}%s{/autored}" % (ma_var)
Outils microsoft
Tester des ports avec PowerShell
Une sorte d’équivalent (léger) à netcat pour tester si une connexion réseau se fait bien avec une machine distante :
Test-NetConnection -ComputerName hote_distant -Port port
Avec « hote_distant » un nom DNS ou une IP et « port » le numéro de port distant.
Remarque : à priori disponible seulement à partir de Windows Server 2012. Peut-être 2008, mais je n’ai pas encore pu tester.
Cacher curseur bash
Si besoin de cacher le curseur, voici quelques lignes :
# Pour ne pas oublier de remettre le curseur dans son état initial à la sortie du script
function unhide_cursor() {
printf '\e[?25h'
}
trap unhide_cursor EXIT
# Cacher le curseur
printf '\e[?25l'
# ... Le script ici ...
Un prompt Bash qui se voit bien
Explications sur Le hollandais volant
La variable :
PS1="\n\[\e[1;48;5;31m\] \u \[\e[48;5;233m\] \h \[\e[48;5;240m\] \w \[\e[0m\]\$(__git_ps1) \$(__cmd_err_code)\n» "
Et puis la fonction :
__cmd_err_code(){
local ERRCODE=$?
if [[ ${ERRCODE} -ne 0 ]]; then
echo -e " \e[1;31m${ERRCODE}\e[00m"
else
echo ""
fi
}
Ce que ça peut donner :
- Exemple 1 :
- Exemple 2 :
- Exemple 3 :
Un peu plus facétieux, puisqu’avec des caractères UTF-8 pour faire des petites icônes. Rien de bien sorcier dans la variable :
PS1="\n\[\e[38;5;0m\]\[\e[48;5;32m\] \u \[\e[00m\]\[\e[38;5;0m\]\[\e[48;5;11m\] \w \[\e[00m\]\$(__git_ps1) \$(__cmd_err_code)\n» "
Thème vim sympa : xoria256
Colorscheme xoria256
set background=dark
highlight clear
syntax reset
set t_Co=256
hi Normal ctermfg=252 guifg=#d0d0d0 ctermbg=234 guibg=#1c1c1c cterm=none gui=none"}}}
hi Cursor ctermbg=214 guibg=#ffaf00
hi CursorColumn ctermbg=238 guibg=#444444
hi CursorLine ctermbg=237 guibg=#3a3a3a cterm=none gui=none
hi ColorColumn ctermbg=235 guibg=#2c2d27
hi Error ctermfg=15 guifg=#ffffff ctermbg=1 guibg=#800000
hi ErrorMsg ctermfg=15 guifg=#ffffff ctermbg=1 guibg=#800000
hi FoldColumn ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212
hi Folded ctermfg=255 guifg=#eeeeee ctermbg=60 guibg=#5f5f87
hi IncSearch ctermfg=0 guifg=#000000 ctermbg=223 guibg=#ffdfaf cterm=none gui=none
hi LineNr ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212
hi MatchParen ctermfg=188 guifg=#dfdfdf ctermbg=68 guibg=#5f87df cterm=bold gui=bold
" TODO
" hi MoreMsg
hi NonText ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212 cterm=bold gui=bold
hi Pmenu ctermfg=0 guifg=#000000 ctermbg=250 guibg=#bcbcbc
hi PmenuSel ctermfg=255 guifg=#eeeeee ctermbg=243 guibg=#767676
hi PmenuSbar ctermbg=252 guibg=#d0d0d0
hi PmenuThumb ctermfg=243 guifg=#767676
hi Search ctermfg=0 guifg=#000000 ctermbg=149 guibg=#afdf5f
hi SignColumn ctermfg=248 guifg=#a8a8a8
hi SpecialKey ctermfg=77 guifg=#5fdf5f
" hi SpellBad ctermfg=160 guifg=fg ctermbg=bg cterm=underline guisp=#df0000
hi SpellBad ctermfg=252 ctermbg=160
hi SpellCap ctermfg=189 guifg=#dfdfff ctermbg=bg guibg=bg cterm=underline gui=underline
hi SpellRare ctermfg=168 guifg=#df5f87 ctermbg=bg guibg=bg cterm=underline gui=underline
hi SpellLocal ctermfg=98 guifg=#875fdf ctermbg=bg guibg=bg cterm=underline gui=underline
hi StatusLine ctermfg=15 guifg=#ffffff ctermbg=239 guibg=#4e4e4e cterm=bold gui=bold
hi StatusLineNC ctermfg=249 guifg=#b2b2b2 ctermbg=237 guibg=#3a3a3a cterm=none gui=none
hi StatusLineTerm ctermfg=15 guifg=#ffffff ctermbg=239 guibg=#4e4e4e cterm=bold gui=bold
hi StatusLineTermNC ctermfg=249 guifg=#b2b2b2 ctermbg=237 guibg=#3a3a3a cterm=none gui=none
hi TabLine ctermfg=fg guifg=fg ctermbg=237 guibg=#3a3a3a cterm=none gui=none
hi TabLineSel ctermfg=15 guifg=#9e9e9e ctermbg=233 guibg=#121212 cterm=bold gui=bold
hi TabLineFill ctermfg=fg guifg=fg ctermbg=237 guibg=#3a3a3a cterm=none gui=none
" FIXME
hi Title ctermfg=225 guifg=#ffdfff
hi Todo ctermfg=0 guifg=#000000 ctermbg=184 guibg=#dfdf00
hi Underlined ctermfg=39 guifg=#00afff cterm=underline gui=underline
hi VertSplit ctermfg=237 guifg=#3a3a3a ctermbg=237 guibg=#3a3a3a cterm=none gui=none
" hi VIsualNOS ctermfg=24 guifg=#005f87 ctermbg=153 guibg=#afdfff cterm=none gui=none
" hi Visual ctermfg=24 guifg=#005f87 ctermbg=153 guibg=#afdfff
hi Visual ctermfg=255 guifg=#eeeeee ctermbg=96 guibg=#875f87
" hi Visual ctermfg=255 guifg=#eeeeee ctermbg=24 guibg=#005f87
hi VisualNOS ctermfg=255 guifg=#eeeeee ctermbg=60 guibg=#5f5f87
hi WildMenu ctermfg=0 guifg=#000000 ctermbg=150 guibg=#afdf87 cterm=bold gui=bold
"" Syntax highlighting {{{2
hi Comment ctermfg=244 guifg=#808080
hi Constant ctermfg=229 guifg=#ffffaf
hi Identifier ctermfg=182 guifg=#dfafdf cterm=none
hi Ignore ctermfg=238 guifg=#444444
hi Number ctermfg=180 guifg=#dfaf87
hi PreProc ctermfg=150 guifg=#afdf87
hi Special ctermfg=174 guifg=#df8787
hi Statement ctermfg=110 guifg=#87afdf cterm=none gui=none
hi Type ctermfg=146 guifg=#afafdf cterm=none gui=none
"" Special {{{2
""" .diff {{{3
hi diffAdded ctermfg=150 guifg=#afdf87
hi diffRemoved ctermfg=174 guifg=#df8787
""" vimdiff {{{3
hi diffAdd ctermfg=bg guifg=bg ctermbg=151 guibg=#afdfaf
"hi diffDelete ctermfg=bg guifg=bg ctermbg=186 guibg=#dfdf87 cterm=none gui=none
hi diffDelete ctermfg=bg guifg=bg ctermbg=246 guibg=#949494 cterm=none gui=none
hi diffChange ctermfg=bg guifg=bg ctermbg=181 guibg=#dfafaf
hi diffText ctermfg=bg guifg=bg ctermbg=174 guibg=#df8787 cterm=none gui=none
""" HTML {{{3
" hi htmlTag ctermfg=146 guifg=#afafdf
" hi htmlEndTag ctermfg=146 guifg=#afafdf
hi htmlTag ctermfg=244
hi htmlEndTag ctermfg=244
hi htmlArg ctermfg=182 guifg=#dfafdf
hi htmlValue ctermfg=187 guifg=#dfdfaf
hi htmlTitle ctermfg=254 ctermbg=95
" hi htmlArg ctermfg=146
" hi htmlTagName ctermfg=146
" hi htmlString ctermfg=187
""" XML {{{3
hi link xmlTagName Statement
" hi link xmlTag Comment
" hi link xmlEndTag Statement
hi link xmlTag xmlTagName
hi link xmlEndTag xmlTag
hi link xmlAttrib Identifier
""" django {{{3
hi djangoVarBlock ctermfg=180 guifg=#dfaf87
hi djangoTagBlock ctermfg=150 guifg=#afdf87
hi djangoStatement ctermfg=146 guifg=#afafdf
hi djangoFilter ctermfg=174 guifg=#df8787
""" python {{{3
hi pythonExceptions ctermfg=174
""" NERDTree {{{3
hi Directory ctermfg=110 guifg=#87afdf
hi treeCWD ctermfg=180 guifg=#dfaf87
hi treeClosable ctermfg=174 guifg=#df8787
hi treeOpenable ctermfg=150 guifg=#afdf87
hi treePart ctermfg=244 guifg=#808080
hi treeDirSlash ctermfg=244 guifg=#808080
hi treeLink ctermfg=182 guifg=#dfafdf
""" rst #{{{3
hi link rstEmphasis Number
""" VimDebug {{{3
" FIXME
" you may want to set SignColumn highlight in your .vimrc
" :help sign
" :help SignColumn
" hi currentLine term=reverse cterm=reverse gui=reverse
" hi breakPoint term=NONE cterm=NONE gui=NONE
" hi empty term=NONE cterm=NONE gui=NONE
" sign define currentLine linehl=currentLine
" sign define breakPoint linehl=breakPoint text=>>
" sign define both linehl=currentLine text=>>
" sign define empty linehl=empty
""" vimHelp {{{3
hi link helpExample Number
hi link helpNumber String
hi helpURL ctermfg=110 guifg=#87afdf cterm=underline gui=underline
hi link helpHyperTextEntry helpURL
Thème Putty façon Zenburn
À mettre dans un fichier .reg :
putty.reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default%20Settings]
"Colour0"="220,220,204"
"Colour1"="220,220,204"
"Colour2"="58,58,58"
"Colour3"="58,58,58"
"Colour4"="0,13,24"
"Colour5"="143,175,159"
"Colour6"="0,0,0"
"Colour7"="85,85,85"
"Colour8"="215,135,135"
"Colour9"="215,135,135"
"Colour10"="160,192,160"
"Colour11"="160,192,160"
"Colour12"="255,255,135"
"Colour13"="255,255,135"
"Colour14"="101,121,142"
"Colour15"="101,121,142"
"Colour16"="241,140,150"
"Colour17"="241,140,150"
"Colour18"="140,208,211"
"Colour19"="140,208,211"
"Colour20"="255,255,255"
"Colour21"="255,255,255"
Pour activer le micro sur mon Pc portable
Un peu de contexte : Carte Realtek ALC255. Bien reconnue par Alsa. Prise micro / casque / micro en jack couplée tout en un.
Conf kernel que j’ai ajoutée avant avec vim /etc/modprobe.d/alsa-base.conf
:
options snd_hda_intel index=0 model=alc255-acer
L’installation des paquets alsa-firmware
et pavucontrol
Puis reboot.
Après cela, les quelques commandes utiles que j’ai du passer :
# Identifier les éléments sources
pacmd list-sources
# Forcer le port (faudra changer le alsa_xxxx chez vous probablement)
pacmd set-source-port alsa_input.pci-0000_00_1f.3.analog-stereo analog-input-headset-mic
Si toujours rien, vérifier (via pavucontrol
) que le contrôle Capture n’est pas en sourdine.
D’ailleurs ce dernier peut aider à choisir le microphone du casque comme étant celui à choisir par défaut,
et couper l’interne.
Et surtout éviter de mettre le volume de capture à fond.
Git : supprimer tous les vieux commits
Un nettoyage aggressif pour repartir de zéro :
git checkout --orphan temp
git add -A # tout ajouter
git commit -m "nettoyage aggressif"
git branch -D master # supprimer master
git branch -m master # renommer temp en master
git push -f origin master # Force push master
git gc --aggressive --prune=all # virer les vieux fichiers
Petit point à vérifer : la branche principale est peut-être protégée contre le force-push sur le serveur (ou la forge).
SSH : faire communiquer deux serveurs via son PC
En cas de firewall pas encore ouvert entre deux serveurs, une astuce via ssh :
- Ouvrir depuis son poste vers le serveur A une première session :
ssh -L 2022:127.0.0.1:22 user_srv_a@serveur_a
- Ouvrir depuis son poste vers le serveur B une seconde session :
ssh -R 2022:127.0.0.1:2022 user_srv_b@serveur_b
- Depuis le serveur B, ouvrir une session ssh sur le port choisi, en local, avec l’utilisateur du serveur A :
ssh -p 2022 user_srv_a@127.0.0.1
- Tadaaam !
Remarque : Le port 2022 est choisi arbitrairement.