General development tools setup notes about tools like: git, p4merge, eclipse, cygwin, etc.
Last Updated: December 31, 2018 by Pepe Sandoval
If you find the information in this page useful and want to show your support, you can make a donation
Use PayPal
This will help me to create more stuff and fix the existent content... or probably your money will be used to buy beer
atom
sudo dpkg -i ~/Downloads/atom-amd64.deb
keymap
file'.editor': 'shift-ctrl-i': 'window:toggle-invisibles
p4merge
sudo tar --no-same-owner --extract --ungzip --file ~/Downloads/p4v.tgz --directory /opt
sudo ln --symbolic /opt/p4v-.../bin/p4merge /usr/bin/p4merge
The ... symbolize the p4v version, use the appropriate one.
git
sudo apt-get install git
~/.gitconfig
add:[user] email = j_sandoval_chavez@hotmail.com name = Jose Manuel Sandoval Chavez [merge] tool = p4merge [mergetool] prompt = false [diff] tool = p4merge [difftool] prompt = false [core] editor = atom --wait
g++
sudo apt-get install g++
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
pandoc
apt-get
sudo apt-get install pandoc
.deb
packagewget https://github.com/jgm/pandoc/releases/download/1.17.2/pandoc-1.17.2-1-amd64.deb
sudo dpkg -i pandoc-1.17.2-1-amd64.deb
pandoc --standalone -f markdown_github -t html md_input.md -o html_output.html
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
openjdk-<ver_num>-jdk
format. Example:sudo apt-get install openjdk-8-jdk
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
oracle-java<ver_num>-installer
format. Example:sudo apt-get install oracle-java8-installer
java -version
sudo update-alternatives --config java
sudo update-alternatives --config javac
This allows you to edit files that are on an external server on eclipse locally to be automatically uploaded
/opt
foldersudo tar -zxvf eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz -C /opt/
sudo vim /usr/share/applications/eclipse.desktop
Put the following contents on the eclipse.desktop file:
[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=Eclipse
Install desktop file executing the following command
sudo desktop-file-install /usr/share/applications/eclipse.desktop
/usr/local/bin
sudo ln -s /opt/eclipse/eclipse /usr/local/bin/eclipse
.bashrc
export JAVA_HOME=/cygdrive/c/Program\ Files/Java/<jdh_version_here>/
export PATH=$PATH:$JAVA_HOME/jre/bin:$JAVA_HOME/bin
ftp-sync
git --version
in a cmd
promptftp-kr
plugin in Visual Studio CodeF1
to open the commands input and enter ftp-kr: Init
to open the ftp-kr.json
config fileremotePath
(Make sure a folder with the same name you put in here exists in the remote system), host
, username
, password
,protocol
and port
. For example {
"host": "192.168.1.94",
"username": "myuserhere",
"password": "mypasswordhere",
"remotePath": "/home/jose/jms-box",
"protocol": "sftp",
"port": 22,
"fileNameEncoding": "utf8",
"autoUpload": true,
"autoDelete": true,
"autoDownload": false,
"ignore": [
".git",
"/.vscode"
]
}
F1
and enter ftp-kr: Upload All
in the command input and you should see if uploads files in the Output
, every time you save a file it should be uploaded automatically as wellbash
as terminal on Visual Studio CodeInstall git for Windows
Opens User Settings file (File -> Preferences -> Settings) then click on the brackets icon ({}) to open in JSON
Ctrl+Shift+P
or F1
to open the commands input and type Preferences: Open SettingsOn the user settings side (right-side) add to the JSON file: "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
. For example it may look like this:
{
"editor.detectIndentation": false,
"files.trimTrailingWhitespace": true,
"diffEditor.renderSideBySide": true,
"git.autofetch": true,
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"window.zoomLevel": 0
}
(Optional) Add a .bashrc
in your home (~
) for your aliases and stuff, execute: cd; echo alias ll=\'ls -alF\' >> .bashrc
As an alternative to work with files on a server you can set up Notepad++ to automatically upload files to a server so you can edit them and work on Notepad++ on Windows and they can be automatically uploaded to a server.
`ssh-keygen -t rsa`
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
If you already have a key you can skip the first command
Copy the private key file (id_rsa file generated in the Linux Server) to your Windows machine
I used F-Secure SHH File transfer program to connect to the server and copy the file to my Windows machine. The file is located in your home in the hidden folder ~/.ssh (in F-secure enable the hidden files option in the menu: View-> Show Hidden Files)
In windows use puttygen to convert the private key to the format needed by Notepad++
If you used a passphrase when generating the key with the
ssh-keygen -t rsa
command, puttygen may ask for it
sudo apt-get install linux-headers-$(uname -r)
vbossf
group if you have folder permissions errorsudo usermod -aG vboxsf $(whoami)
sudo adduser $(whoami) vboxsf
We install this so full-screen mode and shared clipboard/copy-paste can work. Virtual machine needs a restsart so this can take effect.
/home
directory (use cd ~
)ls -a
or ls -lrfa
to find the .xinitrc.user file. We need to edit this file.case Linux* :
/usr/bin/X11/gnome
#/usr/intc/bin/fvwm2
#twm
In this example we are selecting gnome and commenting fvwm2
gksu eclipse
/etc/ssh/sshd_config
make sure to set Port (other than port 22), Host Keys, Password Auth... for example it may look like this:# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
Port 2222
#AddressFamily any
ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 2m
PermitRootLogin prohibit-password
StrictModes yes
MaxAuthTries 4
#MaxSessions 10
PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
sudo ssh-keygen -A
sudo service ssh --full-restart
sudo systemctl enable ssh
or manually restarting every timeIf you find the information in this page useful and want to show your support, you can make a donation
Use PayPal
This will help me to create more stuff and fix the existent content... or probably your money will be used to buy beer