31.10.19

Changer l'icône de gnome

en admettant que le thème actuel est "Adwaita" 
 
sudo cp ~/Downloads/gnome-launcher.svg 
/usr/share/icons/Adwaita/scalable/actions/view-app-grid-symbolic.svg

cd /usr/share/icons && sudo gtk-update-icon-cache Adwaita

24.6.19

verrouiller un fichier sous Linux

pour vérouiller :
sudo chattr +i xxx.txt

pour dévérouiller :
sudo chattr -i xxx.txt

22.6.19

installer les programmes audio de ubuntustudio

sudo apt-get install ubuntustudio-audio* ardour cdrdao csound dgedit drumgizmo fluid-soundfont-gm fluidsynth guitarix hydrogen hydrogen-drumkits idjc jamin kid3-qt lmms multimedia-puredata musescore petri-foo phasex puredata qsynth qtractor rakarrack sooperlooper whysynth yoshimi a2jmidid alsa-tools alsa-tools-gui ffado-dbus-server ffado-mixer-qt4 ffado-tools gladish gmidimonitor jack-keyboard jack-rack jack-tools jackd meterbridge mudita24 patchage pulseaudio-module-jack qasconfig qashctl qasmixer qjackctl qmidiarp qmidinet qmidiroute rtirq-init ubuntustudio-controls vkeybd zita-ajbridge abgate aeolus amb-plugins autotalent blepvco blop calf-plugins caps cmt csladspa drumkv1 dssi-host-jack dssi-utils eq10q fil-plugins fluidsynth-dssi foo-yc20 ghostess hexter invada-studio-plugins-ladspa invada-studio-plugins-lv2 ir.lv2 jconvolver lv2vocoder mcp-plugins mda-lv2 omins rev-plugins rubberband-ladspa samplv1 swh-lv2 swh-plugins synthv1 tap-plugins vco-plugins vocproc wah-plugins x42-plugins xsynth-dssi zita-at1 zita-lrx zita-mu1 zita-resampler zita-rev1

ou aller voir sur la page https://doc.ubuntu-fr.org/ubuntu_studio

2.5.19

installer extension sln sur visual studio

//installer visual studio code
sudo apt update
sudo apt install software-properties-common apt-transport-https wget
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt install code

//installer .net core 5.0
//https://docs.microsoft.com/fr-fr/dotnet/core/install/linux-ubuntu
wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb-O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-5.0

//extensions
installer les extensions :
- C# de OmniSharp
- vscode-solution-explorer de Fernando Escolar
- live share de microsoft
- nuget package manager de jmrog
- visual studio intellicode de microsoft,
- vscode-icons de vscode icons team

dans l'onglet 'explorer' appuyer sur 'Open Folder'
créer un dossier vscode_folder et le sélectionner et ensuite l'icone vs doit apparaître

EXEMPLE DE PROJET
///////////
//créer un répertoire pour le projet
mkdir testvs
//aller dans le répertoire
cd testvs
//créer la solution
dotnet new sln -n TestVS
//créer un projet console TestConsole
dotnet new console -n TestConsole
//créer un projet library TestLibrairie
dotnet new classlib -n TestLibrairie
//ajouter le projet console à la solution
dotnet sln TestVS.sln add ./TestConsole/TestConsole.csproj
//ajouter le projet librairie à la solution
dotnet sln TestVS.sln add ./TestLibrairie/TestLibrairie.csproj
//référencé le projet librairie au projet console
dotnet add TestConsole/TestConsole.csproj reference TestLibrairie/TestLibrairie.csproj
//générer le projet
dotnet build
//lancer le projet
dotnet run --project TestConsole

dans vscode, File - Open Folder, et sélectionner le dossier

AUTRES COMMANDES :
dotnet new
dotnet build
dotnet run
dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
dotnet --help
//////////

28.4.19

installer gnome shell + arc theme

dans firefox https://extensions.gnome.org
cliquer sur  "cliquez ici pour installer l'extension du navigateur"
sudo apt install chrome-gnome-shell
https://extensions.gnome.org/extension/19/user-themes/
dans gnome tweak tool le shell theme doit être activé
sudo apt-get install arc-theme

11.4.19

Monter un disque automatiquement sur Ubuntu

lancer la commande :
sudo blkid

repérer le disque souhaité p. ex :
/dev/sda1: LABEL="DATA" UUID="01D3343AF73E7750" TYPE="ntfs" PARTUUID="02bbf45b-01"

dans le fichier /etc/fstab ajouter la ligne :
# DATA /dev/sda1
UUID=01D3343AF73E7750 /media/delphives/DATA               ntfs    errors=remount-ro 0       1


27.3.19

créer un .deb + raccourci gnome à partir d'un .jar

Si l'on souhaite créer un package 'hellolinux.deb' sur le bureau (par exemple) créer l'architecture suivante :

hellolinux/DEBIAN
hellolinux/usr/bin/hellolinux.sh
hellolinux/usr/lib/hellolinux/hellolinux.jar
hellolinux/usr/lib/hellolinux/dependences.jar
hellolinux/usr/share/doc/hellolinux/hellolinux.gif

dans le fichier 'hellolinux.sh' :

java -jar ../lib/hellolinux/hellolinux.jar

ensuite il faut créer un fichier nommé 'control' dans le répertoire 'hellolinux/DEBIAN' :

Package: hellolinux
Version: 1.0
Section: java
Priority: optional
Architecture: all
Maintainer: Delphives 
Description: mon premier package deb
 à partir d'un fichier jar
 ...
 ...

ensuite sur le bureau lancer la commande :

dpkg --build hellolinux

cela va générer le 'hellolinux.deb' sur le bureau et on peut l'installer :

sudo dpkg -i hellolinux.deb

on peut ensuite lancer l'application :

sh /usr/bin/hellolinux.sh

11.3.19

ubuntu gnome vpn configuration


sudo apt-get install openvpn network-manager-openvpn-gnome


cd /etc/openvpn

sudo wget https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip

sudo apt-get install ca-certificates

sudo apt-get install unzip

sudo unzip ovpn.zip

sudo rm ovpn.zip

dans configuration réseau, ajouter un nuveau vpn : 
choisir "importer depuis un fichier" et pas "openvpn". Passerelle 195.242.213.114:443 prendre le ch130.nordvpn.com.tcp

pour avoir le meilleur réseau aller voir sur nordvpn (https://nordvpn.com/servers/tools/)

pour lancer automatiquement le vpn a l'ouverture du réseau lancer la commande (dans un terminal) nm-connection-editor

créer un raccourci bureau personnalisé sous gnome

gedit ~/Desktop/Skype.desktop

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/snap/bin/skype
Name=Skype
Comment=Skype
Icon=/snap/skype/23/usr/share/icons/hicolor/256x256/apps/skypeforlinux.png

pour trouver le chemin à mettre dans "Exec", lancer la commande : which skype

puis click droite sur "Skype.desktop" et Properties-->Permissions-->Allow executing file as program

12.2.19

installation popcorntime sur linux mint

*************************************************************************
mkdir /opt/popcorn-time
wget https://get.popcorntime.sh/build/Popcorn-Time-0.3.10-Linux-64.tar.xz
tar -xf Popcorn-Time-0.3.10-Linux-64.tar.xz -C /opt/popcorn-time/
*************************************************************************
sudo ln -sf /opt/popcorn-time/Popcorn-Time /usr/bin/popcorn-time
*************************************************************************
sudo vi /usr/share/applications/popcorntime.desktop
[Desktop Entry]
Version = 1.0
Type = Application
Terminal = false
Name = Popcorn Time
Exec = /usr/bin/popcorn-time
Icon = /opt/popcorn-time/src/app/images/popcorntime.png
Categories = Application;
*************************************************************************
sudo apt-get update
sudo apt-get install libgconf-2-4

11.2.19

meilleures applications sécurisées pour Android

NordVPN : https://play.google.com/store/apps/details?id=com.nordvpn.android&hl=fr
Signal Private Messenger : https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms
DuckDuckGo Browser : https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android
ProtonMail : https://play.google.com/store/apps/details?id=ch.protonmail.android
LastPass Password Manager : https://play.google.com/store/apps/details?id=com.lastpass.lpandroid
Find My Device : https://play.google.com/store/apps/details?id=com.google.android.apps.adm
Telegram : https://play.google.com/store/apps/details?id=org.telegram.messenger

1.2.19

supprimer virtualbox de linux lite (slow boot)

sudo apt purge virtualbox*
sudo systemctl stop vboxadd.service
sudo systemctl stop vboxadd-service.service
sudo systemctl disable vboxadd.service
sudo systemctl disable vboxadd-service.service

25.1.19

Audio + Vidéo sous Linux

sudo apt-get install vlc smplayer banshee mpv kodi mplayer
https://popcorntime.sh/fr

16.1.19

bluray sous linux

sudo apt-get install libdvd-pkg
sudo apt-get install vlc libaacs0 libbluray-bdj libbluray2
mkdir -p ~/.config/aacs/
cd ~/.config/aacs/ && wget http://vlc-bluray.whoknowsmy.name/files/KEYDB.cfg

15.1.19

Git + eclipse

dans eclipse installer egit
http://download.eclipse.org/egit/updates
tout cocher

dans Windows>Preferences>Team>Git changer le "Default repository folder"

ouvrir la perspective git

Clone a Git repository

URI : https://github.com/delphives/clockFX.git
renseigner User et Password et cocher "Store in Secure Store"

une fois que le projet apparaît dans la perspective git il faut faire un import depuis la perspective java et on peut travailler dessus

7.1.19

changer le modèle .tt pour l'entity framework

le modèle complet peut être télécharger ici :


pour supprimer la création du constructeur sans paramètre, éliminer les lignes :

public <#=code.Escape(entity)#>()...

pour insérer le FirePropertyChanged, rechercher la ligne :

public string Property(EdmProperty edmProperty)

et remplacer toute la méthode par :

public string Property(EdmProperty edmProperty)
    {
    var propertyName = _code.Escape(edmProperty);
    var finalValue = "value"; // not modified by default

return string.Format(
CultureInfo.InvariantCulture,
"private {1} {6};" + 
Environment.NewLine + "\t{0} {1} {2}" + 
Environment.NewLine + "\t{{" + 
Environment.NewLine + "\t\t{3}get" +
Environment.NewLine + "\t\t{{" +
Environment.NewLine + "\t\t\treturn {6};" +
Environment.NewLine + "\t\t}}" +
Environment.NewLine + "\t\t{4}set" +
Environment.NewLine + "\t\t{{" +
Environment.NewLine + "\t\t\t{6} = {7};" +
Environment.NewLine + "\t\t\tFirePropertyChanged();" +
Environment.NewLine + "\t\t}}" +
Environment.NewLine + "\t}}" + Environment.NewLine,
Accessibility.ForProperty(edmProperty),
_typeMapper.GetTypeName(edmProperty.TypeUsage),
propertyName,
_code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
_code.SpaceAfter(Accessibility.ForSetter(edmProperty)),
"\"" + _code.Escape(edmProperty) + "\"",
"_" + FirstLetterToLower(_code.Escape(edmProperty)),
finalValue);
    }

puis :

public string NavigationProperty(NavigationProperty navProp)

et remplacer toute la méthode par :

public string NavigationProperty(NavigationProperty navigationProperty)
    {
        var endType = _typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType());
var one = "";
var six = "";
if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many)
{
one = "ObservableCollection<" + endType + ">";
six = "";
else
{
one = endType;
if (one == _code.Escape(navigationProperty))
{
six = Environment.NewLine + "\t\t\t" + _code.Escape(navigationProperty) + "Id = ((" + _code.Escape(navigationProperty) + ")value).Id;";
}
else
{
six = "";
}
}

        return string.Format(
            CultureInfo.InvariantCulture,
            "{0} {1} {5};" + 
Environment.NewLine + "\tpublic virtual {1} {2} {{{3} " + 
Environment.NewLine + "\t\tget" + 
Environment.NewLine + "\t\t{{" + 

Environment.NewLine + "\t\t\treturn {5};" + 
Environment.NewLine + "\t\t}} {4}" + 
Environment.NewLine + "\t\tset" + 
Environment.NewLine + "\t\t{{" + 
Environment.NewLine + "\t\t\t{5} = value;" +
"{6}" +
Environment.NewLine + "\t\t\tFirePropertyChanged();" +
Environment.NewLine + "\t\t}}" + 
Environment.NewLine + "\t}}",
            "private",
            one,
            _code.Escape(navigationProperty),
            _code.SpaceAfter(Accessibility.ForGetter(navigationProperty)),
            _code.SpaceAfter(Accessibility.ForSetter(navigationProperty)),
"_" + FirstLetterToLower(_code.Escape(navigationProperty)),
""
);
    }

rechercher la ligne :

<#=codeStringGenerator.EntityClassOpening(entity)#>

puis la modifier en :

<#=codeStringGenerator.EntityClassOpening(entity)#> : INotifyPropertyChanged

rechercher la ligne :

this.<#=code.Escape(navigationProperty)#> = new HashSet

puis changer HashSet en ObservableCollection

rechercher la ligne :

<#=codeStringGenerator.EntityClassOpening(entity)#> : INotifyPropertyChanged
{

et dans l'implémentation de la méthode (au début) ajouter :

    public event PropertyChangedEventHandler PropertyChanged;

    private void FirePropertyChanged([CallerMemberName] string propertyName = null)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }

rechercher la ligne :

public string UsingDirectives(bool inHeader, bool includeCollections = true)

et à la ligne "{2}", changer en :

"{2}" +
"using System.Collections.ObjectModel;" + Environment.NewLine +
"using System.ComponentModel;" + Environment.NewLine +
 "using System.Runtime.CompilerServices;",

puis ajouter la méthode suivante :

public static string FirstLetterToLower(string text)
{
return Char.ToLowerInvariant(text[0]) + text.Substring(1);
}

6.1.19

mot de passe "guest" pour NAS synology

dans les paramètres avancés de l'utilisateur guest, décocher "apply password strength rules"

5.1.19

backup rsync

#! /bin/sh
rsync -Pruv --delete --ignore-errors /home/delphives /media/delphives/WDElements/
echo "**************************************************************"
echo "Sauvegarde terminée!!!"
echo "**************************************************************"

read touche

3.1.19

jar to exe

télécharger l'application Launch4j
la lancer avec "java -jar launch4j.jar"
dans l'onglet "Basic", renseigner le champ "Output file", "Jar"
dans l'onglet "JRE", renseigner le champ "Bundled JRE path:" --> C:\chemin_vers_le_dossier_java_racine, "Min JRE version:" --> 1.8

en sauvegardant les préférences dans un fichier xml on peut lancer la commande suivante :
java -jar launch4j.jar preferences.xml