{ ... }: { text = '' # Fix when ethernet mistakenly detects 100 Mb instead of 1000 Mb. # SPEED is one of 10/100/1000 etc. # Usage: fix_ethernet_speed function fix_ethernet_speed() { local device="''${1}" local speed="''${2}" if [[ "''${device}" = "" || "''${speed}" = "" ]]; then help fix_ethernet_speed return 2 fi ethtool -s "''${device}" speed "''${speed}" } # Fix nautilus after typing wrong sftp password. function fix_files_sftp() { secret-tool clear protocol sftp } # Delete lost Gradle lock files. function fix_gradle_lock() { cd "''${HOME}/.gradle" && find -type f | grep \\.lock$ | xargs -- rm cd - } # Fix Gnome's broken RDP ffs. # Usage: fix_gnome_rdp function fix_gnome_rdp() { local user="''${USERNAME}" local password="''${1}" # Check params. if [[ "''${password}" = "" ]]; then help fix_gnome_rdp return 2 fi # Unlock keyring. PROTIP: Disable password for it in password manager. pkill -9 -f gnome-keyring-daemon echo -n "''${user}" | gnome-keyring-daemon --unlock # Generate keys. cd /tmp openssl genrsa -out rdp-tls.key 4096 openssl req -new -key rdp-tls.key -subj "/C=US" | openssl x509 -req -days 730 -signkey rdp-tls.key -out rdp-tls.crt mkdir -p "''${HOME}/.local/share/gnome-remote-desktop/" mv rdp-tls.key rdp-tls.crt "''${HOME}/.local/share/gnome-remote-desktop/" # Configure RDP. grdctl rdp set-tls-cert "''${HOME}/.local/share/gnome-remote-desktop/rdp-tls.crt" grdctl rdp set-tls-key "''${HOME}/.local/share/gnome-remote-desktop/rdp-tls.key" grdctl rdp set-credentials "''${user}" "''${password}" grdctl rdp disable-view-only # Start service. grdctl rdp enable systemctl --user start gnome-remote-desktop.service # Show status. grdctl status --show-credentials systemctl --user status gnome-remote-desktop.service # Show extra info. _warn "You may need to manually restart Desktop sharing via Gnome Settings." } ''; }