#751 Le 13/11/2009, à 10:25
- Kekun
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Amélioration twocats ajoutée. o7
Plutôt que d'utiliser des if / elif / else, il serait préférable d'utiliser le couple "case / in".
Je sais pas si c'est bien utile pour ce script là en particulier mais je vais le faire, ça m'entraînera
De plus, pour rendre le code plus lisible, tu peux créer des fonctions install() , uninstall() pour alléger le contenu des "if / elif" ou "case / in".
Là par contre je vois vraiment pas du tout l'utilité dans ce script. Ça ne ferait pas que l'alourdir ?
Autre remarque, tu fais systématiquement un read avant la fin de chaque partie. Quelle en est l'utilité ?
C'est pour permettre à l'utilisateur de lire ce qu'il s'est passé s'il le souhaite, plutôt que ça ne se ferme directement.
Pense également à faire sortir ton script avec un code retour parlant après contrôl de chaque commande.
Par exemple, si le téléchargement du bios par wget échoue (url injoignable ...)il te faudrait terminer le script, par "exit 1" par exemple.
Ça, je sais pas du tout faire. =/
Dernière remarque, le script dans /opt/pce/pcecd.sh a pour entête "#!/bin/bash" mais tu l'execute par un "sh /opt/pce/pcecd.sh" dans le lanceur.
Va pour rendre le script exécutable !
Hors ligne
#752 Le 13/11/2009, à 12:25
- twocats
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Et je crois que ça a déjà été dit mais vire tous les sudo internes au script. C'est le script lui-même qu'il faut lancer avec sudo.
La réponse est 42
Hors ligne
#753 Le 14/11/2009, à 14:06
- Nik0s
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Question ?
Est-ce qu'un script de recherche sur Google en ligne de commande ça compte ?
Dernière modification par Nik0s (Le 14/11/2009, à 14:06)
Hors ligne
#754 Le 15/11/2009, à 15:50
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
ça compte mais ça existe déja
Welcome to the real world
________________________________
Hors ligne
#755 Le 15/11/2009, à 18:09
- wido
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
amuses toi:
http://goosh.org/?lang=fr
Hors ligne
#756 Le 15/11/2009, à 18:13
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
je parlais de ça :
http://www.tux-planet.fr/the-google-command-line/
D'ailleurs Seb ne m'as toujours pas donnée de solution pour rechercher via scroogle a la place de google
Âpres Wido il entendait peut-être par CLI rechercher dans un terminal
Dernière modification par n3o51 (Le 15/11/2009, à 18:16)
Welcome to the real world
________________________________
Hors ligne
#757 Le 15/11/2009, à 20:13
- Nik0s
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Sauf que... ma commande utilise wget et un grep uniquement, bon après y faut passer ça en script mais ça devrait pas être trop difficile
Hors ligne
#758 Le 17/11/2009, à 20:29
- draco31.fr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Donne toujours tes commandes, ça pourrait servir.
Hors ligne
#759 Le 17/11/2009, à 20:33
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonsoir a tous
@twocats : j'ai cru entendre que tu avait fait un script avec xdialog.je recherche la meme chose mais avec dialog.
http://forum.ubuntu-fr.org/viewtopic.php?id=359218
Je me suis permis de te contacter par mail.
Bonne soirée ... a tous !!!
EDIT : @NiKos Oui biensur si c'est differents passe nous tes commandes on en redemande toujours
Dernière modification par n3o51 (Le 17/11/2009, à 20:35)
Welcome to the real world
________________________________
Hors ligne
#760 Le 17/11/2009, à 23:14
- twocats
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Ouhla ! Calmos les gars. Tous ça c'est un vieux script d'y a plus de 5 ans ! C'était très mal fait (bidouillage de débutant). Enfin bon le site que j'avais fait à l'époque existant toujours, je te mets le lien :
http://twocats.free.fr/linux/index.htm
La réponse est 42
Hors ligne
#761 Le 18/11/2009, à 05:14
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Merci
bon quand je lance xchaman
export: 29: Illegal option -a
tu sais pourquoi ?
Bon j'ai enlever le export -a et j'ai maintenant
-e #Ici j'ai cliquer sur un message d'erreur mais l'erreur est impossible a lire y a rien d'ecris
ok #Quand je clique sur l'erreur il marque ok
EDIT : make test
Xdialog: /usr/bin/Xdialog
MPlayer: /usr/bin/mplayer
Dernière modification par n3o51 (Le 18/11/2009, à 05:18)
Welcome to the real world
________________________________
Hors ligne
#762 Le 18/11/2009, à 14:17
- tribaltux
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
@Christouf
*Remplacer espaces par _ :#!/bin/bash for i in *\ * do mv "$i" `echo $i | tr " " "_"` done
*Remplacer espaces par -:
#!/bin/bash for i in *\ * do mv "$i" `echo $i | tr " " "-"` done
A mettre dans le dossier /home/$nom_utilisateur/.gnome2/nautilus-scripts
et faire un chmod +x.Fonctionne en se placant dans le dossier en question.
Salut a tous.
Je suis à la recherche d'un script qui fait la meme seulement je me demandait si quelqu'un avait deja fait celui la en récursif sur les sous-dossier les sous-sous-dossier, etc
Merci
Hors ligne
#763 Le 18/11/2009, à 19:25
- yamo
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Je suis à la recherche d'un script qui fait la meme seulement je me demandait si quelqu'un avait deja fait celui la en récursif sur les sous-dossier les sous-sous-dossier, etc
Merci
Il faudrais combiner une commande simple de renommage avec find du genre :
find . -name "*.JPG" -exec mafonctionderenommage {} \;
à exécuter en étant sur le répertoire voulu
Stéphane
--
Debian 9 XFCE Xubuntu 16.04.2 - #ubuntu sur freenode
sudo / matrix
Hors ligne
#764 Le 19/11/2009, à 03:17
- AnsuzPeorth
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bjr,
Genre:
find /home/dossier/a_renommer -type f -exec rename 's/ /_/g' {} \;
l'option '-type f' pour ne renommer que les fichiers (sinon, ca va merder si tu renommes les dossiers avant les fichiers ), pour les dossier '-type d'
Comme le propose yamo, tu peux filtrer via l'option name (iname pour la casse).
Tu peux aussi régler la récursivité, l'option '-maxdepth'
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#765 Le 19/11/2009, à 20:26
- patouche
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour à toutes et tous...
Voila, j'ai réalisé un petit script afin de supprimer les doublons que j'ai au sein d'un dossier (et il y en a beaucoup ...)
Je n'ai pas repris tous le fil de la discussion pour voir si un tel script existait déjà. Donc, voici le script en question...
#!/bin/bash
clear
##############################################################################################
# Barre de Progression
progress_bar () {
(
# Calcul du nombre de colonnes et de lignes et définission des marge à droite et à gauche
local -i nb_colons=`tput cols`
local -i nb_lines=`tput lines`
local pb_size_left=8
local pb_size_right=10
# Couleur
local GREEN="\033[32;42m"
local CYAN="\033[36;1m"
local BLACK="\033[30;40m"
local OFF="\033[0m"
# Tache terminée / Tache en cours
local txt="run..."
local info_txt="Cool !! Ca tourne toujours et c'est en cours"
local avancement=$1
if [ $2 -eq 0 ] ; then $2=1 ; $1=$(($1+1)) ; fi
if [ $1 -ge $2 ] ; then avancement=$2 ; txt="done !" ; info_txt="Cool !! C'est fini :D" ; fi
# Determination du pourcentage d'effectué
local pourcent=`echo "(($avancement*100)/$2)"|bc`
local pb_end=`echo "$nb_colons-$pb_size_left-$pb_size_right"|bc`
local pb_size=`echo "($pourcent*$pb_end/100)"|bc`
# Texte a ecrire pour l'action en cours
if [ $# -ge 3 ]; then info_txt=$3 ; fi
# Décalage du processus... Pseudo-Threads in progress
local -i decal=0
if [ $# -eq 4 ]; then decal=$(($4*2)) ; fi
# On supprime les fins de phrase si elles sont trop longues
local size_txt=$(($nb_colons-$pb_size_right))
if [ ${#info_txt} -ge $size_txt ]; then
info_txt=${info_txt:0:$size_txt}
else
while [ ${#info_txt} -lt $size_txt ]; do info_txt="${info_txt} " ; done
fi
# Position des différents éléments
decal=$(($decal+1))
local pr_pos=`tput cup $decal 0`
local txt_pos=`tput cup $decal $size_txt`
local pb_pos=`tput cup $decal $pb_size_left`
decal=$(($decal+1))
local info_txt_pos=`tput cup $decal 0`
local suite_pos=`tput el`
# constrution du texte de la barre verte et noire
local barre_green=""
local j=0
#while [ $j -lt $pb_size ]; do
while [ $j -lt $pb_end ]; do
barre_green=${barre_green}"="
j=$(($j+1))
done
local barre_black=${barre_green:0:$(($pb_end-$pb_size))}
barre_green=${barre_green:0:$pb_size}
# Ecriture de la barre de chargement
echo -e "${pr_pos}${CYAN}[ $pourcent% ] "
echo -e "${OFF}${GREEN}${pb_pos}${barre_green}${OFF}${BLACK}${barre_black}${OFF} "
echo -e "${OFF}${txt_pos}[ ${txt} ]"
echo -e "${info_txt_pos}${info_txt}${suite_pos}"
)
}
# Fin de Barre de Progression : progress_bar $iter $iterMax $texte $offset
##############################################################################################
echo -e "\n===========================================================================
Comparaison de fichiers en série et suppression des doublons et des nulls... \n
By Patouche !!!!\n
:D :D Ce petit Shell....
===========================================================================\n"
run_start() {
local oldIFS=$IFS
IFS='
'
local thisBasename=`basename $0`
local thisDirectory=`( cd \`dirname $0\` ; pwd )`"/"
local thisFullPath="${thisDirectory}${thisBasename}"
local output=""
local directory=`echo $*`
local timestampStart=`date +%s`
echo -e "Lancement :\t"`date`
local -i nb_fichiers_delete=0
progress_bar 0 100 "Démarrage... | Calcul des fichiers " 6
local i=0
local -a fichiers
# Voire la solution la plus rapide... Ordonnée de façon descendante ou ascendante... normalement, ça revient au même :p
# `ls -aS "$directory"`
for f in `ls -aSr "$directory"` ; do fichiers[i]="${directory}$f" ; i=$(($i+1)) ; done
local -i nb_fichiers=${#fichiers[*]}
echo -e "$nb_fichiers fichiers à se faire... Aller courage :p"
local -i compt_fichiers=0
while [ $compt_fichiers -le $nb_fichiers ] ; do
local fichier_a_comp=${fichiers[$compt_fichiers]}
compt_fichiers=$(($compt_fichiers+1))
local pb_txt="$nb_fichiers_delete supprimés | $compt_fichiers vérifié | $nb_fichiers au départ | \""$fichier_a_comp"\" "
#progress_bar $compt_fichiers $nb_fichiers $pb_txt 6
if [ ! -e "$fichier_a_comp" ]; then continue ; fi
if [ ! -f "$fichier_a_comp" ]; then continue ; fi
if [ ! -r "$fichier_a_comp" ]; then output=${output}"\n/!\ Fichier non accessible en lecture | \""$fichier_a_comp\""" ; continue ; fi
if [ "$fichier_a_comp" == "$thisFullPath" ]; then continue ; fi
# Suppression des null
local -i file_size_init=`cksum "$fichier_a_comp"|awk '{print $2}'`
if [ $file_size_init -eq 0 ]; then
( rm "$fichier_a_comp" ) >/dev/null
#output="$output\nTaille nulle | $fich"
nb_fichiers_delete=$(($nb_fichiers_delete+1))
continue
fi
# Extention du fichier traiter
local ext_fichier_comp="${fichier_a_comp##*.}"
local -i offset_delete=0
local -i compt_comp=$compt_fichiers
while [ $compt_comp -le $nb_fichiers ] ; do
local fich="${fichiers[$compt_comp]}"
#progress_bar $compt_comp $nb_fichiers "$offset_delete supprimés | $compt_comp vérifié | $nb_fichiers au départ | \""$fich"\" " 8
if [ ! -f "$fich" ]; then compt_comp=$(($compt_comp+1)) ; continue ; fi
if [ ! -r "$fich" ]; then compt_comp=$(($compt_comp+1)) ; continue ; fi
if [ "${fich##*.}" != "$ext_fichier_comp" ]; then compt_comp=$(($compt_comp+1)) ; continue ; fi
#if [ "$fich" == "$fichier_a_comp" ]; then continue ; exit ; fi
# On arrete puisque plus la taille du fichier est plus petite et que l'on a trié par ordre décroissant de taille de fichier
local -i size_fich=`cksum "$fich"|awk '{print $2}'`
if [ $size_fich -gt $file_size_init ] ; then
compt_comp=$(($compt_comp+1))
break
fi
local rescomp=`cmp -s "$fich" "$fichier_a_comp"`
if [ ${#rescomp} -eq 0 ]; then
( rm "$fich" ) >/dev/null
#output="${output}\nDoublon... | $fich"
fichiers[$compt_comp]=${fichiers[$(($offset_delete+$compt_fichiers))]}
offset_delete=$(($offset_delete+1))
fi
compt_comp=$(($compt_comp+1))
done
nb_fichiers_delete=$(($nb_fichiers_delete+$offset_delete))
compt_fichiers=$(($compt_fichiers+$offset_delete))
progress_bar $compt_fichiers $nb_fichiers "$nb_fichiers_delete supprimés | $compt_fichiers vérifié | $nb_fichiers au départ | \""$fichier_a_comp"\" " 6
done
progress_bar 100 100 "Le traitement a été achevé - Nombres de fichiers supprimés : $nb_fichiers_delete / $nb_fichiers " 6
IFS=$old
local timestampEnd=`date +%s`
timestampEnd=$(($timestampEnd-$timestampStart))
# pour afficher la liste des fichiers supprimés echo -e "\nFin :\t`date`\tSoit en $timestampEnd secondes\n$output"
echo -e "\nFin :\t`date`\tSoit en $timestampEnd secondes"
return $nb_fichiers_delete
}
##############################################################################################
# Arguments du fichier
declare directory=`pwd`"/"
if [ $# -ge 1 ] ; then
declare directory=$1
fi
run_start `echo "$directory"`
##############################################################################################
exit 0
A quoi tout ça ça sert... ben, à supprimer les doublons au sein d'un dossier.... et comme j'en avais beaucoup, cela affiche une barre de progression de l'état d'avancement.
Bon, après comme je n'excelle pas dans la manipulation du shell, je pense qu'il y a surement des choses qui pourrait être revu ...
Cordialement,
Patouche
EDIT : J'ai fait 2 / 3 modifs afin d'avoir certaines choses plus cohérente (et plus rapide)
Dernière modification par patouche (Le 20/11/2009, à 12:55)
Hors ligne
#766 Le 19/11/2009, à 20:30
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonsoir moi je vais te prendre de trois petite chose et les noter
Par contre j'ai pas conpris a quoi il sert ton script
Welcome to the real world
________________________________
Hors ligne
#767 Le 19/11/2009, à 20:37
- patouche
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Ben, a supprimer les doublons... J'ai un repertoire avec environ 13 milles images dont une bonne partie en double ou en triple (voir en 15 exemplaires) avec des noms remplis d'espaces... et j'aimerai bien faire le tri sur ce dossier (et sur tout ses nombreux copains ... et oui, il est super populaire)
Don, ça me sert juste a avoir un premier tri de tout ce bazard... en supprimant les fichiers identiques
Voilà ... j'espère avoir été plus clair.
Hors ligne
#768 Le 19/11/2009, à 21:13
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Ok les doublons images ok
Welcome to the real world
________________________________
Hors ligne
#769 Le 19/11/2009, à 23:10
- twocats
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
##############################################################################################
# Extension de fichier
get_extension() {
local ext_fichier==`echo $*`
ext_fichier=`basename "$ext_fichier"`
echo `expr match "$ext_fichier" '.*\.\([a-zA-Z0-9~]*\)$'`
return 0
}
# Fin de Extension de fichier : a appeler de la manière suivante: ext=`get_extension $filename`
##############################################################################################
Un grand classique du "pourquoi faire court et simple quand on peut faire long et compliqué".
Le même version "j'me casse pas la tête" :
EXT_FICHIER="${FICHIER##*.}"
La réponse est 42
Hors ligne
#770 Le 20/11/2009, à 00:12
- BorX
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
J'ai rapidement regardé le script, mais je n'ai vu qu'une comparaison des tailles des fichiers.
Si c'est bien le cas, il suffit que 2 fichiers fassent la même taille pour être considérés comme doublon ?
Je te recommande plutôt l'utilisation de md5sum qui renvoie une code relatif au contenu d'un fichier.
C'est en commençant un script du même type que je m'étais interrogé sur un algo utilisant md5sum. En 2 mots, je fais le md5 de tous les fichiers qui m'intéressent, je trie dans l'ordre et je repère les doublons.
Depuis, j'ai trouvé fdupes (désolé ; tes efforts ne sont pas vains, tu as certainement appris beaucoup ) :
http://forum.ubuntu-fr.org/viewtopic.php?id=16016
http://forum.ubuntu-fr.org/viewtopic.php?id=328747
Hors ligne
#771 Le 20/11/2009, à 06:58
- patouche
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Hello, j'ai éditer afin de modifier 2 ou 3 trucs qui n'allait pas... Désormais, ça permet aussi de faire un suppression des nulls.
@Borx : Je compare pas juste la taille parce que sinon ça ne fonctionnerait pas comme je le voudrait. ... fdupe... je vais tester
@twocats : Merci bien !!...
Ca fonctionne de la manière suivante :
1. Listes des fichiers et tri par taille de fichier
2. Vérification de la taille du fichier. Si nulle on supprime
3. Vérification de la correspondance de l'extension (un grand merci à twocats... j'y avais pas pensé )
4. Comme c'est trier par taille, on arrete la deuxième boucle dès que la taille est supérieure
5. On compare les tailles de fichiers
6. On compare de manière binaire les fichiers et si égaux on supprime.
Voici 2 screenshots de ce qu'il se passe :
Pour l'exemple, j'ai fais un copier coller de 16 fichiers dont certains ayant la même tailles pour atteindre les 400 ... Et au final, je retrouve bien mes 16 fichiers à la fin (environ 60 secondes pour 400 "petits fichiers")
En cours
Terminé
EDIT : Je viens de lancer sur des dossiers avec plus de fichiers et les résultats ma paraissent assez concluant... Par rapport à ce qui avait été donné auparavant, la logique est la même mais la manière de parcourir est différente. Ca m'a permit de gagner un temps précieux
Au final, pour 13000 fichiers, ça prend environ 10 minutes...
Dernière modification par patouche (Le 20/11/2009, à 12:58)
Hors ligne
#772 Le 20/11/2009, à 16:35
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
c'est niquel t'as barre de progression
Welcome to the real world
________________________________
Hors ligne
#773 Le 20/11/2009, à 17:29
- patouche
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Ben nickel je sais pas... Il y a surement des chose à revoir dedans mais comme elle marche pas trop mal... Depuis, je l'utilise tout le temps. J'aurais bien aimé savoir si cela était possible avec getty et stty... mais j'avoue ne pas comprendre grand chose à ces 2 commandes ...
Mais sinon, est ce que quelqu'un à tester le sript ??... Histoire de me dire si certains choses pourrait être amélioré ?? Eventuellement corrigé si quelqu'un trouve une erreur...
Comment l'appeler :
placer le fichier un dossier et bash ./ton/chemin/lesript.sh [eventuellement un rep se terminant par /]
Par défaut se serra le repertoire courant qui serra scanné.
Voici donc a quoi ressemble la version finale (cliquer sur l'image)
Donc, pour les curieux... vous avez une petit visualisation du temps que ça prend pour 13000 fichiers (et des brouettes)... pour 9000 doublons.... C'est pas non plus la mort ...
@BorX: J'ai pas testé fdupes, mais en gros quasiment la même idée j'imagine...
Dernière modification par patouche (Le 20/11/2009, à 17:35)
Hors ligne
#774 Le 25/11/2009, à 07:48
- Sallé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour à tous!
J'ai trouvé un script qui permet de changer aléatoirement de fond d'écran, à coupler avec une commande fcron. Malheureusement ça ne marche pas et j'aimerai savoir si en lisant ce script quelqu'un trouve pourquoi.
voila le script :
#!/bin/sh
#-----------------------------------------------------------------------#
# #
# Description : Random wallppaper script #
# OS : Linux #
# Licence : GPL #
# Version : 0.1.2 #
# Author : <effacé> #
# Web site : http://www.tux-planet.fr/ #
# #
#-----------------------------------------------------------------------#
# On definit le repertoire contenant les fond d'ecran
REP=/home/mugz/Images/Wallz/
# On definit l'utilisateur qui beneficira du changement de fond d'ecran
USER=mugz
# On se positionnne dans ce repertoire
cd $REP
# Creation d'un fichier temporaire contenant la liste des fonds du repertoire
find . \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \) > list.tmp
# Creation d'un tableau contenant le nom des fonds
tab=list.tmp
image=($(cat $tab))
nb=${#image[*]}
# On choisi aleatoirement un nombre
chosen=$((RANDOM % nb))
# On recupere l'image
file=${image[$chosen]}
# On met en place le chemin complet de l'image
chemin=$PWD/$file
# On modifie la valeur de la cle du fond d'ecran dans Gconf
su $USER -c "gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$chemin" "
# On efface le fichier temporaire
rm list.tmp
et la ligne que j'ai insérée dans fcron
@ 1h /home/mugz/Images/Wallz/script-wallpaper
par ailleurs, si je lance le script dans un terminal, j'obtiens
/home/mugz/Images/Wallz/script-wallpaper: 27: Syntax error: "(" unexpected
Donc voila, si quelqu'un a une idée, faites-moi savoir
Dernière modification par Nuliel (Le 11/01/2024, à 19:51)
Hors ligne
#775 Le 25/11/2009, à 11:10
- ljere
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
j pense que ton erreur est la
su $USER -c "gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$chemin" "
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne