Skip to content

Instantly share code, notes, and snippets.

@primaryobjects
Last active October 26, 2015 02:07
Show Gist options
  • Save primaryobjects/b9c8b1d9a7969ecca923 to your computer and use it in GitHub Desktop.
Save primaryobjects/b9c8b1d9a7969ecca923 to your computer and use it in GitHub Desktop.
Linux Mint Install Notes from a Windows 8 user. This document contains steps to install Linux Mint along-side Windows 8, on a separate partition on the same hard-drive (ie., dual-boot) using just 1 partition (a Linux swapfile will be used instead of a separate partition). It also contains steps to customize the Linux setup to look and feel simil…
1. Download linux distribution iso.
2. Download unetbootin.
3. In Windows 8, right-click start icon and select Disk Management.
4. Select C: drive and click Shrink. Shrink the disk by the amount you want for the linux drive, for example 30GB.
5. Right-click the new unallocated 30GB space and select New Volume. Format it as FAT32 and leave the drive letter blank.
6. Run unetbootin. Select the iso you downloaded in step 1. Select Hard Disk and leave the default disk as C:. This will install a temporary boot of the linux "live" iso, also called a frugal install.
7. Restart the PC and in the boot menu, choose "unetbootin". This will load the linux live environment. Starting might take a while (maybe 10+ minutes). When the linux logo displays, hit any key on the keyboard to show the terminal screen and status. The part, "scanning disc for index files.." may take a long time, so be patient.
8. Once linux starts up, click "Install Linux".
9. Keep clicking Continue until you reach the disk drive partition screen. Select the new partition you created in step 4. You can tell which one it is by being formatted as FAT32 and having the disk size that you assigned (30GB).
10. With the partition selected, click Change. Leave the disk space as the default (max size of partition), checkmark to Format the partition, select "Ext4 Journal" as the type. In the dropdown, select to place the boot loader on the same partition. For "Mount As" select /. Everything should be pointing to the new partition. Click OK and save the changes.
11. Click Install. You might see a warning about no swap drive. Click Install to continue.
12. After the install is finished, click the button to restart the PC. In the boot menu, boot back into Windows.
13. In Windows, run unetbootin and click OK to uninstall it from your system. This will remove the linux "frugal" install files and remove the temporary boot entry.
14. Run EasyBCD and click the "Add Entry" tab. Click the "Linux" tab, select the partition that you installed on (created in step 4). This will make a new boot menu entry. Save the changes.
15. Restart the PC. In the boot menu, pick Linux.
16. Open a terminal (hit CTRL-ALT-T).
17. Create a swap file with the following commands in the terminal:
sudo su
dd if=/dev/zero of=/swapfile1 bs=1024 count=6144000
mkswap /swapfile1
chown root:root /swapfile1
chmod 0600 /swapfile1
swapon /swapfile1
* Note, replace 6144000 with the desired swap file size. This should typically be the same as the amount of memory on your PC. So, for 6GB of RAM, you should make this value 6000 * 1024 = 6144000.
18. Next, navigate to /etc in the folders. To do this, double-click Home. Click the computer monitor icon for "Go to Computer". Double-click "File System". Double-click "etc".
19. Find the file "fstab" and copy it to your desktop.
20. Right-click the file on your desktop and select "Open With Text Editor". Add the following line to the file to enable swap after reboot:
/swapfile1 swap swap defaults 0 0
21. Open a terminal window (CTRL-ALT-T), type the following:
sudo su
cd Desktop
cp fstab /etc/fstab
22. Verify swap is activated by typing "free -m" and verifying that you see "Swap: 5999" displayed.
23. Click the update icon next to your clock and install all updates.
24. Uninstall LibreOffice stuff:
sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove
25. Install Windows 8 theme:
sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install win-themes
sudo add-apt-repository ppa:noobslab/icons
sudo apt-get update
sudo apt-get install win-icons
26. Open Themes settings. Select Win8. Click Other settings tab, pick Win8 for all dropdowns.
27. Open Synaptic Package Manager. Type "git", then Apply.
28. Install RabbitVcs (github). Open Synaptic Package Manager. Type "rabbitvcs" and select rabbitvcs-core, rabbitvcs-nemo, then Apply.
Open terminal and type:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
sudo apt-get update; sudo apt-get install nemo-rabbitvcs
* Log out and back in to see changes in context menu.
29. To compile apps, install:
sudo apt-get install python-dev
sudo apt-get install qt4-qmake
sudo apt-get install libqt4-dev
sudo apt-get install g++
30. If titles disappear from bottom window panels, double-click Home, view Hidden files, delete .cache folder. Then open Cinnamon Settings, select Panel, check and uncheck "Customize". This will refresh the cache and restore titles and tray icons.
31. To fix sleep:
sudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd
* Paste script from http://chriseiffel.com/everything-linux/how-i-got-suspend-and-hibernate-working-in-linux-ubuntu-11-04-mint-11/
sudo chmod +x /etc/pm/sleep.d/20_custom-ehci_hcd
32. To remove sleep lock screen, click Menu, search for "Lock" and uncheck to lock on sleep.
33. To install NVIDIA driver, follow steps at http://www.binarytides.com/install-nvidia-drivers-ubuntu-14-04/
Or use Software Manager and search for "nvidia" (nvidia-current).
34. Add keyboard shortcut for sleep. Open "Keyboard" settings, add custom hotkey for CTRL-ALT-K with command:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
35. After installing NVIDIA driver, the boot screen image will be gone, replaced with text. Fix this by following steps at http://www.binarytides.com/ubuntu-fix-nvidia-graphics/
sudo nano /etc/default/grub
* Replace #GRUB_GFXMODE=640x480 with:
GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep
sudo update-grub2
sudo nano /etc/initramfs-tools/conf.d/splash
* Type in file: echo FRAMEBUFFER=y
sudo update-initramfs -u
36. To fix WIFI being disabled after wake from suspend, follow these steps from http://www.webupd8.org/2013/01/fix-wireless-or-wired-network-not.html:
sudo lshw -C network
* Find name of driver under "Wireless interface", next to "configuration ... driver=rXXXXu". The rXXXXu is the name we want.
Then type:
sudo nano /etc/pm/config.d/unload_modules
* Paste in (replacing rXXXXu with name from above step):
SUSPEND_MODULES="$SUSPEND_MODULES rXXXXu"
37. To change the suspend timeout interval, hit ALT-F2, type dconf-editor, then go to org/cinnamon/settings-daemon/plugins/power and set sleep-inactive-ac-timeout=14400 (4 hours).
38. In folder view, click Edit->Preferences, select "Compact View" as default.
39. To change desktop icon font color with Win8 theme (or any theme for that matter, follow steps from http://forums.linuxmint.com/viewtopic.php?f=42&t=118989 bottom of page), open a terminal and run: gksudo gedit
Next, edit the file /usr/share/themes/Win8/gtk-3.0/gtk-main.css. Add a new define:
@define-color desktop_text_color #ff0000;
Then edit apps/nautilus.css, find section "desktop mode". Paste in:
.nemo-desktop.nemo-canvas-item {
color: @desktop_text_color;
}
40. Install kdocker from Software Manager to allow minimizing Thunderbird to system tray.
41. Copy Thunderbird user prefs (mailbox, extensions, etc) from Windows in Users/username/AppData/Roaming/Thunderbird/Profiles/profilename.default -> /home/username/.thunderbird/profilename.default
42. Install Wine from Software Manager.
43. To auto-mount Windows 8 drive upon startup (so symbolic links to partition work), open terminal and type: gksudo gedit /etc/fstab
Then add this line to the file:
/dev/sda2 /windows ntfs defaults 0 0
* Replace sda2 with the name of the partition (you can try to find this by typing mount at the prompt and matching it to the path if you double-click the drive and open it. Replace "windows" with the desired name of the mount.
44. To setup Juniper Network Connect:
sudo apt-get install openjdk-7-jre icedtea-7-plugin
sudo apt-get install openjdk-7-jre:i386
sudo ln -s /usr/bin/update-alternatives /usr/sbin/
Then use Firefox and go to vpn web site with Juniper and connect. You may need to install java32 in the .juniper_networks folder as the folder "java32". Connect to vpn either through web site or by navigating to .juniper_networks/network_connect and running:
bash getx509certificate.sh server.host.com cert
Connect to the network with:
./ncsvc -h server.host.com -u username -p password -r realm -f cert
Test VPN status by running .juniper_networks/network_connect/ncdiag -A
Or run "netstat -nr" and verify IP addresses.
45. To setup remote desktop rdp, install Remmina via the following commands from https://github.com/FreeRDP/Remmina/wiki:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt-get update
sudo apt-get install remmina remmina-plugin-rdp
46. Install node.js with:
sudo apt-get install nodejs
sudo apt-get install npm
* Then make an alias from nodejs to node:
sudo ln -s /usr/bin/nodejs /usr/sbin/node
47. To push to heroku with ssh, install the Heroku Toolbelt. https://devcenter.heroku.com/articles/keys Then use the command: heroku keys:add
You can generate a new public key and upload it to your account. Now when you push to the url, it will work.
To generate a new ssh key:
ssh-keygen -t rsa -C "[email protected]"
heroku keys:add
* Note, when doing a push to the [email protected]:project.git url, heroku will use the first ssh key found. If you have multiple keys, move the others to a sub-folder so that only the key you want to use is present in the .ssh folder. Then it will be picked for authentication.
48. To wake from suspend via keyboard or mouse, follow these steps http://ubuntuforums.org/showthread.php?t=1968487
Open a terminal and run: lsusb
Then run: sudo gedit /etc/udev/rules.d/90-keyboardwakeup.rules
Add this line into the file:
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", ATTRS{idProduct}=="2105" RUN+="/bin/sh -c 'echo enabled > /sys$env{DEVPATH}/../power/wakeup'"
* In the above line, match the 413c and 2105 to "Bus 005 Device 002: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard" from the lsusb output. You're looking for the device name associated with your keyboard.
(This step was not needed, but it was listed in the form post) Edit the file /etc/rc.local and add the line: echo enabled > /sys/bus/usb/devices/4-3/power/wakeup
49. To install the latest version of R http://www.sysads.co.uk/2014/06/install-r-base-3-1-0-ubuntu-14-04/:
sudo apt-get remove r-base-core
sudo gedit /etc/apt/sources.list
* Paste into the file: deb http://cran.rstudio.com/bin/linux/ubuntu trusty/
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install r-base
sudo apt-get install r-base-dev
sudo apt-get install r-cran-rjava
* Install the following lib files for XML and RCurl:
sudo apt-get update
sudo apt-get install libxml2-dev
sudo apt-get install libcurl4-gnutls-dev
50. Disable IPv6 for privacy and to fix dns leaks (see http://lifehacker.com/5902397/how-to-make-vpns-even-more-secure and http://www.wilderssecurity.com/threads/should-i-disable-ipv6.358189/)
Edit: /etc/sysctl.conf
# Disable IPv6 for privacy and to fix dns leaks.
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
* After making changes, run: sudo sysctl -p
* To verify IPv6 is disabled, run ifconfig and make sure IPv6 is not present in the output.
51. Enable the firewall: sudo ufw enable
Download gufw from Synaptic Package Manager to manage rules. Default rules are usually fine. Note, the cable-modem firewall already blocks incoming connections (unless you enable port-forwarding) and it is perfectly sufficient. The Linux firewall is just an extra measure of security.
52. Disable Samba file sharing and Avahi network discovery services:
sudo stop nmbd
echo manual | sudo tee -a /etc/init/nmbd.override
sudo stop smbd
echo manual | sudo tee -a /etc/init/smbd.override
sudo stop avahi-daemon
echo manual | sudo tee -a /etc/init/avahi-daemon.override
sudo stop cups-browsed
echo manual | sudo tee -a /etc/init/cups-browsed.override
53. Install KeePass2 using https://launchpad.net/~jtaylor/+archive/ubuntu/keepass
sudo apt-add-repository ppa:jtaylor/keepass
sudo apt-get update
sudo apt-get install keepass2
-- Extra notes --
To restart the shell, if it ever freezes, hit CTRL-ALT-F4 to access the virtual terminal. Login, then restart the shell with:
sudo service mdm stop
sudo service mdm start
Then, hit ALT-F8 to go back to the shell.
-----
To create a shortcut with a working directory, create a new .sh file (in /home/username/Documents/shortcuts):
#!/bin/sh
cd "/windows/Program Files (x86)/Hearthstone"
./Hearthstone.exe
-----
To set an icon for a shortcut and put it in the panel:
Follow the above tip for creating a shortcut with a working directory. Put a png file in the same folder. Then create a file /usr/share/applications/Hearthstone.desktop with the following:
[Desktop Entry]
Version=1.0
Type=Application
Exec=/home/username/Documents/shortcuts/Hearthstone.sh
Name=Hearthstone
Icon=/home/username/Documents/shortcuts/hearthstone.png
After creating the .desktop file, open the start menu and search for the app name, right-click it and select Add to Panel (or add to desktop).
-----
To save a screenshot of the login screen, edit "/etc/mdm/Init/Default" and place this at the end of the file (before exit 0):
( gnome-screenshot -d 5 -f /home/username/Desktop/login.png ) &
-----
If the Windows drive fails to mount, it's usually because it's in hibernation mode from doing a fast restart in Windows, rather than a shutdown. You can still mount the drive in read-only.
To mount a drive in read-only: sudo mount -r -t ntfs /dev/sda2 /windows
-----
To make Thunderbird minimize to tray, right-click the Thunderbird icon and select Edit. Change the launch command to: kdocker -q -d 10 -m thunderbird %u
-----
Copying and pasting from Keepass to Chrome doesn't work in Linux Mint and Chrome 36. To fix: sudo apt-get install xsel
-----
Bash script to check vpn and auto-close program http://ubuntuforums.org/showthread.php?t=1941380&page=3
More notes on this at http://ubuntuforums.org/showthread.php?t=1496473
Even better, http://github.com/primaryobjects/vpndemon
-----
Count processes:
ps ax | wc -l | tr -d " "
-----
Anonymous free DNS servers: http://freedns.zone/en. Setup in network connections, select vpn, click IPv4 Settings, and paste into DNS servers.
-----
To mount a removable usb drive: sudo fdisk -l
This lists the drives. Look for "sdb", which should be the usb drive. Then type:
sudo mount -t vfat /dev/sdb1 /home/username/foldername
If the drive is formatted with ntfs then use "-t ntfs" instead. Don't forget this will mount as "root", so open folder as root user for rw permissions.
-----
If wifi connects, but you can't access the Internet, try the following:
sudo su
echo "nameserver 8.8.4.4" >> /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment