# 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." }