{
  "slug": "Installing-Application-for-Golang-developer-After-installing-Ubuntu-22-04-LTS-5d5570a78340",
  "title": "Installing Application for Golang developer After installing Ubuntu 22.04 LTS",
  "subtitle": "In this article, I will explain which package is necessary after installing Ubuntu 22.04 LTS as a Golang developer.",
  "excerpt": "In this article, I will explain which package is necessary after installing Ubuntu 22.04 LTS as a Golang developer.",
  "date": "2022-06-11",
  "tags": [
    "Go",
    "Linux",
    "Machine Learning"
  ],
  "readingTime": "5 min",
  "url": "https://medium.com/@mobinshaterian/installing-application-for-golang-developer-after-installing-ubuntu-22-04-lts-5d5570a78340",
  "hero": "https://cdn-images-1.medium.com/max/800/1*S0Gz5RKPNNAOvDqhTllDmA.png",
  "content": [
    {
      "type": "heading",
      "level": 2,
      "text": "Installing Application for Golang developer After installing Ubuntu 22.04 LTS"
    },
    {
      "type": "paragraph",
      "html": "In this article, I will explain which package is necessary after installing Ubuntu 22.04 LTS as a Golang developer."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Neokey"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://github.com/MatsuriDayo/nekoray/releases/download/2.9/nekoray-2.9-2022-12-19-linux64.zip"
    },
    {
      "type": "paragraph",
      "html": "./nekoray: error while loading shared libraries: libQt5Network.so.5: cannot open shared object file: No such file or directory"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt-get install libqt5gui5"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install GPU Driver"
    },
    {
      "type": "paragraph",
      "html": "sudo apt install hwinfo"
    },
    {
      "type": "paragraph",
      "html": "hwinfo — gfxcard — short"
    },
    {
      "type": "paragraph",
      "html": "sudo apt install nvidia-driver-515 nvidia-dkms-515"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "ubuntu-drivers devices== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==modalias :\npci:v000010DEd000025A0sv00001043sd00001CCCbc03sc00i00vendor   : NVIDIA Corporationmodel    : GA107M\n[GeForce RTX 3050 Ti Mobile]manual_install: Truedriver   : nvidia-driver-525-open - distro non-free\nrecommendeddriver   : nvidia-driver-515 - distro non-freedriver   : nvidia-driver-515-open - distro\nnon-freedriver   : nvidia-driver-525 - distro non-freedriver   : nvidia-driver-470-server - distro\nnon-freedriver   : nvidia-driver-525-server - distro non-freedriver   : nvidia-driver-470 - distro\nnon-freedriver   : nvidia-driver-510 - distro non-freedriver   : nvidia-driver-515-server - distro\nnon-freedriver   : xserver-xorg-video-nouveau - distro free builtin"
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://www.cyberciti.biz/faq/ubuntu-linux-install-nvidia-driver-latest-proprietary-driver/\" target=\"_blank\" rel=\"noreferrer noopener\">https://www.cyberciti.biz/faq/ubuntu-linux-install-nvidia-driver-latest-proprietary-driver/</a>"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "nvidia-smi"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*S0Gz5RKPNNAOvDqhTllDmA.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 22.04 LTS",
      "caption": "",
      "width": 729,
      "height": 340
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Make Windows USB bootable"
    },
    {
      "type": "paragraph",
      "html": "Make USB for running windows as dual boot next to the Ubuntu. Only use Rufus in windows to build this one"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Make USB for with Ubuntu operation system."
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo add-apt-repository ppa:tomtomtom/woeusb\nsudo\napt update &&\nsudo\napt install woeusb-frontend-wxgtk"
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://www.omgubuntu.co.uk/2017/06/create-bootable-windows-10-usb-ubuntu\" target=\"_blank\" rel=\"noreferrer noopener\">https://www.omgubuntu.co.uk/2017/06/create-bootable-windows-10-usb-ubuntu</a>"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Asus problem to install windows"
    },
    {
      "type": "paragraph",
      "html": "Cannot find drives when installing Windows 11/10"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install VirtualBox on Ubuntu and Linux Mint"
    },
    {
      "type": "paragraph",
      "html": "It’s very easy to <a href=\"https://itsfoss.com/install-virtualbox-ubuntu/\" target=\"_blank\" rel=\"noreferrer noopener\">install VirtualBox on Ubuntu</a>. All you need to do is to use the command below:"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install virtualbox"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt-get install unrar"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "unrar e filename.rar"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install VPN"
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://armagankaratosun.github.io/post/2018-09-02-setup-l2tp-vpn-on-ubuntu/\" target=\"_blank\" rel=\"noreferrer noopener\">https://armagankaratosun.github.io/post/2018-09-02-setup-l2tp-vpn-on-ubuntu/</a>"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install network-manager-l2tp"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt -y install network-manager-l2tp"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt-get install network-manager-l2tp-gnome"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install --install-suggests network-manager-l2tp-gnome"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Terminal Tor"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://linuxconfig.org/install-tor-proxy-on-ubuntu-20-04-linux"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo systemctl status tor\nsudo\napt-get install -y proxychains\nsudo\napt install proxychains4"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Upload and install Ubuntu 22.04"
    },
    {
      "type": "paragraph",
      "html": "After installing ubuntu as the first step is nessacary to update OS to get the last update."
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt-get update"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Initial and import install applications"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt-get install git\nsudo\napt-get install htop\nsudo\napt-get install sshuttle\nsudo\napt-get install iotop\nsudo\napt-get install vim\nsudo\napt-get install curl"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install G partition"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install gparted"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Add Persian fonts"
    },
    {
      "type": "paragraph",
      "html": "in setting part add Input sources and then add Persian source"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*T8NNQJGIoaPGritFIamWDQ.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 22.04 LTS",
      "caption": "",
      "width": 980,
      "height": 816
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Installing Fonts"
    },
    {
      "type": "paragraph",
      "html": "some Persian font not available on Ubuntu so download them install in ~/.fonts"
    },
    {
      "type": "paragraph",
      "html": "downloading font from these web site and put in ~/.fonts folder"
    },
    {
      "type": "paragraph",
      "html": "cp -ar 384.Font.Farsi ~/.fonts/"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Region And Language"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*-l2ugDnRHqWD-tl-fOoCBw.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 22.04 LTS",
      "caption": "",
      "width": 665,
      "height": 405
    },
    {
      "type": "code",
      "lang": "text",
      "code": "Settings > Time and date > Clock"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Font google"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://www.fontyab.com/download?id=7782\nhttps://soft98.ir/graphic/font/14282-Font-Collection-Farsi.html"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install chrome"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install ./google-chrome-stable_current_amd64.deb"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Vscode IDE"
    },
    {
      "type": "paragraph",
      "html": "Vscode is compatible with many language such as Php, Python, Docker, Git, Css&nbsp;, Html, Blade, JS and etc."
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install --classic code"
    },
    {
      "type": "paragraph",
      "html": "Extentions: git lens + git graph + git history + prettier +Bracket Pair Colorizer 2 + One Dark Pro + Material Icon Theme + prettier + Code Runner + Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby &amp; more + go +"
    },
    {
      "type": "paragraph",
      "html": "press cntl + shift + p and then type setting.json"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "\"workbench.editor.enablePreview\": false,"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Protection on eye and low back pain"
    },
    {
      "type": "paragraph",
      "html": "sudo add-apt-repository ppa:slgobinath/safeeyes"
    },
    {
      "type": "paragraph",
      "html": "sudo apt update"
    },
    {
      "type": "paragraph",
      "html": "sudo apt install safeeyes"
    },
    {
      "type": "paragraph",
      "html": "if you familiar with pomodoro install it<br>sudo apt-get install gnome-shell-pomodoro"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Docker"
    },
    {
      "type": "paragraph",
      "html": "if you have problem with connection to docker use <a href=\"https://shecan.ir/\" target=\"_blank\" rel=\"noreferrer noopener\">shckan</a> proxy."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Set docker as sudoer"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo groupadd docker\nsudo gpasswd -a $USER dockernewgrp docker"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "docker --version"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "Docker version 19.03.8, build afacb8b7f0docker psCONTAINER ID        IMAGE               COMMAND\nCREATED             STATUS              PORTS               NAMES"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install docker-composer"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install docker-compose"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Portainer with Docker on Linux"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v\n/var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee:latest"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "FileZilla"
    },
    {
      "type": "paragraph",
      "html": "sudo apt-get install filezilla"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Change background with Bing"
    },
    {
      "type": "paragraph",
      "html": "‍Esay way to use Bing Wall Paper every day"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install bing-wall"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install wonderwall"
    },
    {
      "type": "paragraph",
      "html": "for changing background need run bingwallpaper in Terminal"
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://www.howtogeek.com/305974/how-to-use-bings-background-of-the-day-as-your-ubuntu-wallpaper/\" target=\"_blank\" rel=\"noreferrer noopener\">Option Two: Bing Desktop Wallpaper Changer (No Watermark)</a>"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Telegram"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Golang"
    },
    {
      "type": "paragraph",
      "html": "<strong>The easiest way</strong>"
    },
    {
      "type": "paragraph",
      "html": "Follow original link"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Add Export PATH in $HOME/.bashrc"
    },
    {
      "type": "code",
      "lang": "javascript",
      "code": "export PATH=$PATH:/usr/local/go/binexport PATH=$PATH:$(go env GOPATH)/binexport GOPATH=$(go env\nGOPATH)# Powerline configurationif [-f /usr/share/powerline/bindings/bash/powerline.sh];\nthen powerline-daemon -q POWERLINE_BASH_CONTINUATION=1 POWERLINE_BASH_SELECT=1 source\n/usr/share/powerline/bindings/bash/powerline.shfi"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Other way"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install go --classic"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "snap list"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "Add /usr/local/go/bin to the PATH environment variable."
    },
    {
      "type": "code",
      "lang": "go",
      "code": "You can do this by adding the following line to your $HOME/.profile or /etc/profile (for a\nsystem-wide installation):"
    },
    {
      "type": "code",
      "lang": "javascript",
      "code": "export PATH=$PATH:/usr/local/go/bin"
    },
    {
      "type": "paragraph",
      "html": "<strong>Note:</strong> Changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, just run the shell commands directly or execute them from the profile using a command such as <code>source $HOME/.profile</code>."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Add Export PATH in $HOME/.bashrc"
    },
    {
      "type": "code",
      "lang": "go",
      "code": "# Set the GOPROXY environment variableexport GOPROXY=https://goproxy.io,direct# Set environment\nvariable allow bypassing the proxy for specified repos (optional)export\nGOPRIVATE=git.mycompany.com,github.com/my/private"
    },
    {
      "type": "code",
      "lang": "javascript",
      "code": "export PATH=\"$PATH:$HOME/.local/bin\""
    },
    {
      "type": "code",
      "lang": "javascript",
      "code": "export PATH=\"$PATH:$(go env GOPATH)/bin\""
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Using Goproxy"
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://goproxy.io/\" target=\"_blank\" rel=\"noreferrer noopener\">https://goproxy.io/</a>"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "ENV GOPROXY=\nhttps://goproxy.io,direct"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Go-micro Cli"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "go install github.com/go-micro/cli/cmd/go-micro@latest"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Nats-Service"
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://github.com/nats-io/nats-server/releases\" target=\"_blank\" rel=\"noreferrer noopener\">https://github.com/nats-io/nats-server/releases</a>"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install ./nats-server-v2.9.15-386.deb nats-server -js -m 9090"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "go get github.com/nats-io/nats-streaming-server\nnats server run --jetstream"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Protobuf via Snap"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install go --classic"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "snap list"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Protobuf"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install protobuf-compilerhttps://grpc.io/docs/languages/go/quickstart/"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "protoc --versionlibprotoc 3.12.4"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Protobuf manually"
    },
    {
      "type": "paragraph",
      "html": "Install pre-compiled binaries (any OS)"
    },
    {
      "type": "paragraph",
      "html": "Download last version of release and replace."
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://github.com/grpc-ecosystem/grpc-gateway\" target=\"_blank\" rel=\"noreferrer noopener\">https://github.com/grpc-ecosystem/grpc-gateway</a>"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "go install \\\n  github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \\\n  github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \\\n  google.golang.org/protobuf/cmd/protoc-gen-go \\\n  google.golang.org/grpc/cmd/protoc-gen-go-grpc"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "protoc-gen-micro: program not found or is not executablePlease specify a program using absolute path or make sure the program is available in your PATH system variable — micro_out: protoc-gen-micro: Plugin failed with status code 1.make: *** [Makefile:12: proto] Error 1"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "@go get -u google.golang.org/protobuf/proto @go install\ngoogle.golang.org/protobuf/cmd/protoc-gen-go@latest @go install\ngithub.com/go-micro/generator/cmd/protoc-gen-micro@latest"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "protoc-gen-micro: program not found or is not executable #890"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Download Release file and put in bin"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "in /etc/environment add path /root/go/bin/"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo gedit /etc/environment /root/go/bin/"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install GCC"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt-get install build-essential"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install ELK with docker-compose"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://github.com/deviantony/docker-elk"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Terminal Calculator"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install calc"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Goland"
    },
    {
      "type": "paragraph",
      "html": "after install Goland add below plugin:"
    },
    {
      "type": "paragraph",
      "html": "in address File -&gt; Setting -&gt; Plugins"
    },
    {
      "type": "paragraph",
      "html": "Dracula Theme for JetBrains and Atom Material File Icons and GitHub Copilot uses OpenAI Codex to suggest code"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Tmux"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt  install tmux"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Termial"
    },
    {
      "type": "paragraph",
      "html": "Powerline is a text-based tool that provides useful information in a variety of contexts."
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://www.ricalo.com/blog/install-powerline-ubuntu/#"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Ohmyposh"
    },
    {
      "type": "paragraph",
      "html": "Oh My Posh is a custom prompt engine for any shell that has the ability to adjust the prompt string with a function or variable."
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://ohmyposh.dev/"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "The fuck"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://github.com/nvbn/thefuck"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Discord"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install discord"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "How to Set Up SSH Keys on Ubuntu 20.04"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Postman"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install postman"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Sqlc"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install sqlc\ngo install github.com/kyleconroy/sqlc/cmd/sqlc@latest"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install sound recorder"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install gnome-sound-recorder"
    }
  ]
}
