Selenith

Projets, Memos, Infos.

Mapper une Razer Naga Hex sous linux Ubuntu

Si comme moi vous aimez bien les devices Razer et que vous jouez sous Linux, cet article est fait pour vous.

J'ai pendant longtemps cherché a changer le mappage par défaut de ma razer Naga Hex. Impossible de faire autre chose, sans les drivers razer, que les deux configuration de la souris activable par le bouton qui se trouve dessous.

J'etais donc condamné à devoir reconfigurer tous mes jeux pour utiliser soit les chiffres 123456 du clavier standard soit ceux clavier numérique.

Par le plus grand des hasards, je suis tombé sur cette page.

Je test sur mon PC, un xubuntu 18.04 et la, ô joie, ca fonctionne !

Voila donc un script qui fonctionne sur les nagas Hex et les nagas Epic.

#Récuperation du clavier ID généré par la Naga
remote_id=$(
  xinput list |
  sed -n 's/.*Naga.*id=\([0-9]*\).*keyboard.*/\1/p'
)
[ "$remote_id" ] || exit

#Creation du fichier de configuration des touches

mkdir -p /tmp/xkb/symbols
cat >/tmp/xkb/symbols/custom <<\EOF
xkb_symbols "remote" {
    key <AE01>   { [Alt_L] };
    key <AE02>   { [e, E] };
    key <AE03>   { [a,  A] };
    key <AE04>   { [Control_L] };
    key <AE05>   { [Tab,  ISO_Left_Tab] };
    key <AE06>   { [c, C] };
    key <AE07>   { [F7, F7] };
    key <AE08>   { [F8, F8] };
    key <AE09>   { [F9, F9] };
    key <AE10>   { [F10, F10] };
    key <AE11>   { [F11, F11] };
    key <AE12>   { [F12, F12] };
};
EOF

#Injection de la nouvelle configuration

setxkbmap -device $remote_id -print | sed 's/\(xkb_symbols.*\)"/\1+custom(remote)"/' | xkbcomp -I/tmp/xkb -i $remote_id -synch - $DISPLAY 2>/dev/null


Vous pouvez le mettre dans un fichier appelé naga.sh et le rendre executable avec la commande :

chmod +x naga.sh


Il ne vous reste plus qu'a l'executer :

./naga.sh

La configuration ci dessus est celle que j'utilise pour Skyrim SE, lancé avec steam Play sous Linux. Pensez a executer script apres chaque nouveau demarrage.

Le gros avantage c'est que vous pouvez faire autant de scripts que vous avez de jeux. Vous aurez alors l'equivalents des profiles dans razer synapse.

Et noubliez pas que le nunstick est aussi compatible Linux ;D

Publié le 12/09/2018 - Commentaires 0

[Raspberry - kodi] monter un dossier en sshfs

Maintenant que vous savez comment creer un serveur de fichier en sftp accessible depuis n'importe ou de facon sécurisée, nous allons voir comment le monter à distance sur votre raspberry pi.

Le principe

Vous avez :

- Votre serveur (A) accessible en sftp, contenant vos media (musiques, films, etc).
- Votre raspberry (B) lecteur de media  avec un kodi/xbmc d'installé qui va se connecter sur le serveur A.

(B) au demarrage va automatiquement se connecter sur (A) et monter le dossier de media distant sur un repertoir en local.

 

Configuration

On va editer le fichier qui lance les scripts utilisateur au demarrage de kodi (B). 

nano /etc/rc.local

Ajoutez ensuite dans le fichier et au dessus de la commande exit 0

/bin/sleep 5 #attente du montage de la partition /home au demarrage
/usr/bin/sshfs -o allow_other user_A@domaine.tld:/repertoir/distant /home/pi/sshfs -p 22

user_A : utilisateur local de (A) autorisé a ouvrir une connection sftp.
domaine.tld : l'adresse de (A) sous forme d'ip ou de nom de domaine
/repertoir/distant : le repertoire distant à monter. Si votre config sshd est propre le repertoire sera "/".
/home/pi/sshfs : le repertoire local de (B) dans lequel les media seront montés.

Vous pouvez changer le port (-p 22) par un autre si vous l'avez modifié dans la configuration de (A)

On créé le repertoire de (B) dans lequel sera monté (A)

mkdir /home/pi/sshfs

J'aimerais vous dire que ca suffit, mais il faut tapper un mot de passe au moment du montage du dossier. Hors le but c'est que tout se fasse tout seul. La seule facon de se connecter en ssh sans avoir besoin de tapper un mot de passe est de declarer la machine cliente sur la machine serveur. 

Pour se faire on va generer un couple de clé sur notre petit kodi (B).

sudo ssh-keygen -t rsa

Le sudo est important, il va generer une biclé pour l'utilisateur root. Copiez ensuite le contenu de la clé publique de (B) qui a été générée. Vous le trouverez dans le fichier /root/.ssh/id_rsa.pub.

Connectez vous ensuite à votre serveur de media (A) et collez ce contenu dans le fichier /home/user_A/.ssh/authorized_keys. Si le fichier n'existe pas, creez le.

Vous pouvez tester le bon fonctionnement en tappant la ligne de commande de rc.local avec sudo devant.

sudo /usr/bin/sshfs -o allow_other user_A@domaine.tld:/repertoir/distant /home/pi/sshfs -p 22

Et voila ! Votre serveur de media est accessible de la meme facon qu'un dossier local dans l'interface de kodi/xbmc de (B).

Vous pouvez meme l'emporter et le brancher chez des amis. Tant qu'il est relié au net il se connectera de facon securisée sur votre serveur de fichier en sftp.

 

Demontage (optionel)

Si vous souhaitez demonter le dossier, voici la commande :

fusermount -u /home/pi/sshfs

 

Bugs frequents

Il arrive parfois, selon les versions de ssh, de l'OS ou encore de la hauteur de la marée, que le sshfs ne se monte pas alors que la connection ssh classique se fait bien. Vous pourrez voir dans les logs (auth.log) du client "sshfs read connection reset by peer". Remplacez simplement de nom de domaine du serveur par son IP.

Publié le 10/07/2015 - Commentaires 0

[linux] creer dossier partagé ssh sans chroot

Configuration de base

Pour commencer il va falloir creer un utilisateur sans shell ni home. L'interet est de securiser au maximum en empechant l'utilisateur d'acceder au systeme.

L'utilisateur utilisé ici sera invite.

sudo useradd --no-create-home -s /bin/false invite


Ensuite si ca n'est pas deja fait, installez le daemon ssh.
Il va falloir creer un dossier de partage qui sera le dossier racine a la connexion.

sudo mkdir /srv/partage


Le fonctionnement de ssh est fait de tel sorte qu'aucun utilisateur ne peut avoir les droits sur le dossier racine.
Il va donc falloir creer un sous dossier dans lequel l'utilisateur aura tous les droits.

sudo mkdir /srv/partage/echange


Puis attribuer les droits a s'utilisateur

sudo chown invite:invite /srv/partage/echange


Ensuite, editez le fichier  /etc/ssh/sshd_config

Ajoutez en fin de fichier

 #config pour creer une cage scp sans chroot
Match user invite
        ChrootDirectory /srv/partage
        X11Forwarding no
        AllowTcpForwarding no
        # ForceCommand /usr/lib/openssh/sftp-server
        ForceCommand internal-sftp


Puis rechargez le daemon ssh.

 sudo service ssh reload


Et voila, votre utilisateur aura acces a son dossier echange dans lequel il pourra deposer/supprimer/modifier ses fichiers et ses dossiers.
 


Configuration avancée

 


Vous pouvez egalement lier un groupe d'utilisateur a votre dossier.

On va creer un groupe pour le sftp. Il va s'appeler partagesftp

sudo groupadd partagesftp


on lui ajoute ensuite un ou plusieurs utilisateur.
 

sudo useradd --no-create-home -g partagesftp -s /bin/false toto
sudo passwd toto
sudo useradd --no-create-home -g partagesftp -s /bin/false titi
sudo passwd titi


Avec dans ssh_config
 

#config pour chroot propre scp
Match groupe partagesftp
        ChrootDirectory /srv/partage
        X11Forwarding no
        AllowTcpForwarding no
        # ForceCommand /usr/lib/openssh/sftp-server
        ForceCommand internal-sftp -u 2 # modification du umask par defaut


On n'oublie pas de recharger la config.
 

sudo service ssh reload
Publié le 04/03/2015 - Commentaires 0