Setup VNC and RDP on Ubuntu 16.04

If you need to setup VNC and/or RDP on your Ubuntu system, you can do it.

Original instructions came from hiroom2.com, but I modified these instructions to work for my setup:

https://www.hiroom2.com/2016/05/24/ubuntu-16-04-remote-connect-to-gnome-classic-desktop-with-vnc-xrdp/#sec-5

Download the libraries you need:

sudo apt remove -y vnc4server tightvncserver
sudo apt install -y git and devscripts
sudo apt install -y gnome-panel metacity

You will need to download and compile from source:
(yes, you need these double folders)

cd ~/source
mkdir tigervnc
cd tigervnc
git clone https://github.com/TigerVNC/tigervnc
cd tigervnc

This seems to be the specific build that was working:

git checkout 044e2b87da7121ef6cbd59e88b101d7d8e282896 \
-b 044e2b87da7121ef6cbd59e88b101d7d8e282896

Now we do the build:

ln -s contrib/packages/deb/ubuntu-xenial/debian

sudo apt install -y $(grep Build-Depends: debian/control | \
sed -e 's/Build-Depends://g' -e 's/([^\)]*)//g' -e 's/,//g')

chmod a+x debian/rules
fakeroot debian/rules binary

Now install the deb packages:

cd ..
sudo dpkg -i *.deb || (sudo apt -f install -y; sudo dpkg -i *.deb)
cd ..

Install GNOME:

sudo DEBIAN_FRONTEND="noninteractive" apt install -y gnome

echo "gnome-session-classic" > ~/.xsession

mv ~/.vnc/xstartup ~/.vnc/xstartub.bak

vncpasswd

RDP Installation:

sudo apt install -y xrdp
sudo systemctl enable xrdp

If you are running this in a VirtualBox, you will need to do some port forwarding:

Default VNC port: 5901
VirtualBox port: 15901 (or whatever)

Default RDP port: 3389
VirtualBox port: 13389 (or whatever)

Build Zencash (ZEN) wallet on Ubuntu

Build Zencash (ZEN) wallet on Ubuntu:

Build everything:

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake

The actual build takes a long time:

mkdir ~/source
cd ~/source
git clone https://github.com/ZencashOfficial/zen.git
cd ~/source/zen/zcutil
./build.sh
./fetch-params.sh

Run wallet and then stop it:

cd ~/source/zen/src
./zend -daemon
./zen-cli stop

You will now see a folder ~/.zen
Create zen.conf in this folder that looks like this:

rpcuser=YourUserName
rpcpassword=YourPassword
rpcport=8236
gen=1

Now start the server again:

cd ~/source/zen/src
./zend -daemon

Use the cli (command line interface) to getinfo:

./zen-cli getinfo

ZEN update (when you need to upgrade)

cd ~/source/zen
git pull
cd ~/source/zen/zcutil
./build.sh
./fetch-params.sh

Build ZClassic (ZCL) wallet on Ubuntu

Build ZClassic (ZCL) wallet on Ubuntu:

Build everything:

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake

The actual build takes a long time:

mkdir ~/source
cd ~/source
git clone https://github.com/z-classic/zclassic.git
cd ~/source/zclassic/zcutil
./build.sh
./fetch-params.sh

Run wallet and then stop it:

cd ~/source/zclassic/src
./zcashd -daemon
./zcash-cli stop

You will now see a folder ~/.zclassic
Create zclassic.conf in this folder that looks like this:

rpcuser=YourUserName
rpcpassword=YourPassword
rpcport=8234
gen=1

Now start the server again:

cd ~/source/zclassic/src
./zcashd -daemon

Use the cli (command line interface) to getinfo:

./zcash-cli getinfo

ZCL update (when you need to upgrade)

cd ~/source/zclassic
git pull
cd ~/source/zclassic/zcutil
./build.sh
./fetch-params.sh

CPU Mining Zcash (ZEC) on Ubuntu

CPU Mining Zcash (ZEC) on Ubuntu

Install dependancies:

sudo apt-get install cmake build-essential libboost-all-dev

Get code and compile:

cd ~/source
git clone -b Linux https://github.com/nicehash/nheqminer.git
cd nheqminer/cpu_xenoncat/Linux/asm/ && sh assemble.sh && cd ../../../Linux_cmake/nheqminer_cpu && cmake . && make

Here is an example mining command:

~/source/nheqminer/Linux_cmake/nheqminer_cpu/nheqminer_cpu -t 2 -l us1-zcash.flypool.org:3333 -u t1cN123qRbBXkQXKqPqq44E4cTh2a8SvwH1.YourMiner

Using SVN to backup

Some basic examples of how to use SVN as a backup system.

Install SVN:

sudo apt-get install subversion

How to create a backup:

mkdir ~/backup
cd ~/backup
mkdir yourcomputername

Copy all the files and folders you want to backup to yourcomputername:

svn import https://svn.yoursvnserver.com:9443/svn/yoursvnfolder/yourcomputername

How to add everything in the folder to SVN:

cd ~/backup
svn add --force * --auto-props --parents --depth infinity -q

How to commit everything that was saved in the backup folder:

svn commit /home/yourusername/backup/yourcomputername -m "yourcomputername backup"

Recovering Backup from SVN Server:

mkdir ~/work
cd ~/work
svn checkout https://svn.yoursvnservername.com:9443/svn/yoursvnfolder/yourcomputername

Build zcash (ZEC) wallet on Ubuntu

Build everything:

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake
mkdir ~/source
cd ~/source
git clone https://github.com/zcash/zcash.git
cd ~/source/zcash/zcutil
./build.sh
./fetch-params.sh

Run wallet and then stop it:

cd ~/source/zcash/src
./zcashd -daemon
./zcash-cli stop

You will now see a folder ~/.zcash
Create zcash.conf in this folder that looks like this:

rpcuser=YourUserName
rpcpassword=YourPassword
gen=1

Now start the server again:

cd ~/source/zcash/src
./zcashd -daemon

The gen=1 turns on mining automatically.

Use the cli (command line interface) to getinfo:

./zcash-cli getinfo

ZEC update (when you need to upgrade)

cd ~/source/zcash
git pull
cd ~/source/zcash/zcutil
./build.sh
./fetch-params.sh

Using cgminer with Bitmain Antminer U3 on Ubuntu

I decided to move my USB Antminer U3’s to an old laptop, to free up my windows machine for important stuff like games.

First make sure you have the necessary libraries:

sudo apt-get install build-essential autoconf automake 
sudo apt-get install libtool pkg-config libcurl3-dev libudev-dev
sudo apt-get install libc6 libcurl3-gnutls libjansson4
sudo apt-get install libncurses-dev

Download the latest cgminer:

mkdir ~/source
cd ~/source
git clone https://github.com/ckolivas/cgminer.git
cd cgminer
./autogen.sh
CFLAGS="-O2 -Wall -march=native" ./configure --enable-icarus
make

Since cgminer needs access to the usb ports, you need to run it as root:

sudo ~/source/cgminer/cgminer --au3-volt 800 --au3-freq 237.50 -o stratum+tcp://hashpower.co:3333 -u YOUR_USERNAME_HERE_OR_BTC_ADDRESS -p c=BTC

Overclocking the R9 280x on Ubuntu

Well, I thought I would run some tests to see if I could get more performance from this card.

First of all DO THIS AT YOUR OWN RISK, you have been warned…

My Test Scenario:
—-
AMD Radeo R9 200 Series
Specifically: R9 280x
OS: Ubuntu 14.04 LTS
cgminer version 3.7.2
cgminer intensity: 5
—-

First some setup if needed:

sudo amdconfig --initial --adapter=all
sudo reboot

How to update your clock and memory:

Enable overdrive, and set the clock.

amdconfig --od-enable
amdconfig --odsc=1000,1500

Where 1000 is the spot for you clock, and 1500 is the spot for your memory. These are the default settings for the R9 280x.

To check your current settings and temperature:

amdconfig --odgc --adapter=all
amdconfig --odgt --adapter=all

Hint: put commands above in a gpu_info script and have it watched, or put it in the startup:

watch ./gpu_info
gnome-terminal  --geometry=63x13+1140+40 -e 'watch ~/bin/gpu_info'

Here is how my test went:

Core Memory GH/s  Temp     Notes
---- ------ ----  ----     -----
1000 1500   1.127 69.00 C  Default Core/Memory
1000 500    1.127 71.00 C  Underclocked Memory
1050 500    1.183 71.00 C
1100 500    1.255 72.00 C
1150 500    1.300 73.00 C
1200 500    1.345 74.00 C  Last stable core clock
1250 500    ????? ???????  Slowed down, then GPU shut down

Now that I have a stable core clock of 1200, I will experiment with the
cgminer intensity. I would let it run for about 30 minutes or more to
make sure it really is stable.

Then save the settings:

aticonfig --odsc=1200,500
aticonfig --odcc

Here are my results when messing with cgminer intensity:

Core Memory GH/s Temp Load Intensity Notes
---- ------ ---- ---- ---- --------- -----
1200 500 1.514 77.00 C 95% d Dynamic intensity is the safest and where I keep it.
1200 500 1.412 76.00 C 90% 6
1200 500 1.487 76.00 C 94% 7
1200 500 1.512 77.00 C 95% 8
1200 500 1.545 77.00 C 97% 9
1200 500 1.565 77.00 C 98% 10
1200 500 1.576 77.00 C 99% 11
1200 500 1.582 77.00 C 99% 12
1200 500 1.585 77.00 C 99% 13
1200 500 1.587 77.00 C 99% 14 Fastest, but desktop may become sluggish.

So for me, I keep it at 1200 core clock, 500 memory clock, and intensity d. There are diminishing returns for increasing the intensity, but may be worth it for some people.

Install opencl and drivers for Radeon R9 280x on Ubuntu

To get the drivers set up for your AMD card do the following.

System Settings/Software & Updates/Additional Drivers
Select fglrx-updates

If you have multiple GPU’s but only the first is being recognized, you may need to disable the GPU Manager. You will need to edit this file:

sudo nano /etc/default/grub

Change this line to:

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="nogpumanager"

Now update grub and reboot:

sudo update-grub
sudo reboot

To list your GPU’s:

lspci | grep VGA
amdconfig --list-adapters

Now initialize your GPU’s:

sudo amdconfig --initial --adapter=all
sudo reboot

Now run clinfo:

clinfo

You should see your version of opencl:

Device OpenCL C version: OpenCL C 1.2

Now go ahead and set up cgminer, instructions are here:
http://www.reynoldtech.com/mining-decred-on-ubuntu-with-cgminer/


Notice: The info below is outdated, I’m now using the Ubuntu GUI to grab the additional drivers.

Find the drivers on the official AMD website:
http://support.amd.com/en-us/download/linux

Click on your version of Ubuntu (ex: Ubuntu 14.04 LTS 64-bit)

Download all the fglrx files for your version. There should be 4 of them.

Get to your download directory and copy them somewhere safe like:

mkdir ~/AMD_Driver_packages
cd ~/Downloads
cp *.deb ~/AMD_Driver_packages
cd ~/AMD_Driver_packages

I had to make sure my system had the dependencies

sudo apt-get -f install

Now that you are in the folder you will be doing all your installing from, go ahead and install:

sudo dpkg -i fglrx-core_15.302-0ubuntu1_amd64_ub_14.01.deb
sudo dpkg -i fglrx_15.302-0ubuntu1_amd64_ub_14.01.deb
sudo dpkg -i fglrx-dev_15.302-0ubuntu1_amd64_ub_14.01.deb
sudo dpkg -i fglrx-amdcccle_15.302-0ubuntu1_amd64_ub_14.01.deb

Now reboot

sudo reboot

Check that everything is installed correctly:

sudo dpkg -l fglrx fglrx-core fglrx-amdcccle fglrx-dev

Now run clinfo:

clinfo

You should see your version of opencl:

Device OpenCL C version: OpenCL C 1.2

Now go ahead and set up cgminer, instructions are here:
http://www.reynoldtech.com/mining-decred-on-ubuntu-with-cgminer/

Configuring a fresh Ubuntu server

Ok, so you’ve installed Ubuntu 14.04 on a new machine. Now there are a few things you can do to make your life more comfortable after getting your OS installed, and connected to wifi (which is beyond the scope of this post).

You’ll want to first have ssh set up so you can remote in, even if your graphic driver is not configured.

ssh:

sudo apt-get install openssh-server

Give your yourself super user access by adding a line to your sudousers file. Then you won’t have to type in your password every time you use sudo.

sudo:

sudo nano /etc/sudoers

Add this line to the end of the file:

yourusername ALL=(ALL) NOPASSWD:ALL

Next, you’ll want to set up VNC, so you can put that computer in another room if you want. This way you can be in front of your favorite big monitor or TV and access your Ubuntu box. For this, you will need to install x11vnc on Ubuntu. If you are accessing from Windows, I found that the tightvnc viewer works best with x11vnc.

x11vnc:

sudo apt-get install x11vnc

Save password:

sudo x11vnc –storepasswd /etc/x11vnc.pass

Create a startup file:

sudo nano /etc/init/x11vnc.conf

Put this in your x11vnc.conf file:

start on login-session-start
script
/usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -overlay -cursor -noshared -forever -bg -rfbport 5900 -o /var/log/x11vnc.log
end script

Now, you can reboot Ubuntu and x11vnc will always start up. But if you want to stop/start it manually, you can do this via ssh. This is also handy if your vnc session crashes for some reason or gets stuck.

sudo pkill -f x11vnc
sudo start x11vnc

If you don’t want to deal with sending error reports to Ubuntu by being prompted to send them, then edit this file and set enable=0

sudo nano /etc/default/apport

If you have your source code on an SVN Server:

sudo apt-get install subversion

Some useful things to attach to your tool bar:

Terminal
Software Updater
Scheduled Tasks
Startup Applications
System Monitor

Some conveniences if you like:

Settings:

Brightness and Lock:
Turn off screen when inactive for: Never

Power:
When lid is closed: Do Nothing

Appearance/Behaviour:
Enable Workspaces