Ubuntu is a popular Linux distribution, best suited for desktop computers. It is based on Debian, therefore the packaging (*.deb) works rather well.
Disclaimers
Find out what distribution you already have:
more /etc/issue uname -a
Find the serial number for your machine (e.g. a Dell service tag)
sudo dmidecode -s system-serial-number
Start with the official Ubuntu site (sometimes a bit lengthy):
Sometimes it is useful to hunt down short installation documentation on other sites than Ubuntu. If you are looking for an other practical, short and excellent installation guides (and that may include how to add non-free software):
After installing (Thanx a lot to you guys, the articles below really did help me to get a somewhat decent working environment - Daniel K. Schneider 22:06, 20 September 2012 (CEST))
Firstly upgrade to the latest 18.04
sudo apt update sudo apt upgrade
Then do it
sudo do-release-upgrade
I did the 20.04 LTS upgrade on June 3 2021 and it worked without any extra work, including my double screen configuration. Maybe because I got an older PC, but I am still happy :) The whole procedure took about 90 minutes where I had to answer a few questions, using the default answer.
lsb_release -a
LSB Version: core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal
In 2023 I upgraded from 20.04 to LTS 22.04 without problems.
LSB Version: security-11.1.0ubuntu4-noarch Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy
For major update, I strongly suggest waiting until the official update path is cleared, i.e. wait until sudo do-release-update
works. I once forced the install and it miserably failed. So I had to install a new system and that went well (I only to change my uid/gid and mount server partitions again and, of course, reinstall all the software, but that was extra work ....)
Firstly upgrade to the latest 16.04
sudo apt update sudo apt upgrade sudo apt dist-upgrade sudo apt autoremove
Early adopters:
sudo do-release-upgrade -d
else
sudo do-release-upgrade
I tried before the official upgrade and it broke the system (the same as described for version 16.x below)
The process broke in the middle since some dependencies were not met.... For now I don't know if this can be fixed.
sudo apt install -f
Reading package lists...
Building dependency tree...
Reading state information...
Correcting dependencies... failed.
The following packages have unmet dependencies:
glib-networking : Depends: libglib2.0-0 (>= 2.55.0) but 2.48.2-0ubuntu1 is installed
glib-networking-services : Depends: libglib2.0-0 (>= 2.55.0) but 2.48.2-0ubuntu1 is installed
gnupg : Depends: gnupg-l10n (= 2.2.4-1ubuntu1.1) but it is not installed
Depends: gnupg-utils (= 2.2.4-1ubuntu1.1)
Depends: gpg (= 2.2.4-1ubuntu1.1)
Depends: gpg-wks-client (= 2.2.4-1ubuntu1.1)
Depends: gpg-wks-server (= 2.2.4-1ubuntu1.1)
Depends: gpgsm (= 2.2.4-1ubuntu1.1)
Depends: gpgv (= 2.2.4-1ubuntu1.1)
Breaks: python3-apt (<= 1.1.0~beta4) but 1.1.0~beta1ubuntu0.16.04.1 is installed
Breaks: software-properties-common (<= 0.96.24.3) but 0.96.20.7 is installed
libc6-dbg : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
libc6-i386 : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
libgail-3-0 : Depends: libglib2.0-0 (>= 2.49.4) but 2.48.2-0ubuntu1 is installed
libglib2.0-bin : Depends: libglib2.0-0 (= 2.56.1-2ubuntu1) but 2.48.2-0ubuntu1 is installed
libgoa-1.0-0b : Depends: libglib2.0-0 (>= 2.52) but 2.48.2-0ubuntu1 is installed
libgoa-backend-1.0-1 : Depends: libglib2.0-0 (>= 2.52) but 2.48.2-0ubuntu1 is installed
libgtk-3-0 : Depends: libglib2.0-0 (>= 2.55.2) but 2.48.2-0ubuntu1 is installed
python-apt : Depends: libapt-inst2.0 (>= 1.4~beta3) but 1.2.26 is installed
Depends: libapt-pkg5.0 (>= 1.4~beta3) but 1.2.26 is installed
python3 : PreDepends: python3-minimal (= 3.5.1-3) but 3.6.5-3 is installed
Depends: libpython3-stdlib (= 3.5.1-3) but 3.6.5-3 is installed
python3-minimal : Depends: python3.6-minimal (>= 3.6.5-2~) but it is not installed
python3.6 : Depends: python3.6-minimal (= 3.6.5-3) but it is not installed
Probably I first should try removing packages installed from a PPA, e.g. Inkscape.
https://askubuntu.com/questions/307/how-can-ppas-be-removed
Anyhow, I just killed the machine and installed a new 18 version. Reinstalling can be justified if you need several new software, e.g. Inkscape and do not want to upgrade these via an external PPA. Before you do so, backup your home and maybe some other configuration files.
This upgrade was available since July 21 2016 (16.04.1 LTS)
Upgrade to latest 14.04 (not sure that this is really needed)
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get autoremove
Upgrade to 16.04 LTS
sudo do-release-upgrade
If this doesn't work, try
sudo update-manager -d
Even in April 2017, a high end DELL desktop workstation comes with Ubuntu 14LTS (pre-installed). I got a 5810 tower with a Xeon E5-1620 v3 (Four Core HT, 10MB Cache, 3.5GHz Turbo, a 500GB SSD and a NVIDIA® Quadro® M4000 8Go graphics card. That system does not want to upgrade, or at least mine would not.
Symptoms:
No new release found
Someone (at DELL) decided that you should not update, so iff
you believe that you should upgrade, then change this setting even before any upgrading / updating to newer 14LTS packages.
/etc/update-manager/release-upgrades
and set Prompt=ltsIf your system is new (like mine), you could use the Nano editor, e.g. type:
sudo nano /etc/update-manager/release-upgrades
Now
sudo do-release-upgrade
This went pretty well, except that the the GUI was still broken. Nvidia drivers are proprietary and even if you install new ones from the graphics repository (see below), I could not login.
To fix that:
sudo update-secureboot-policy
Now I could log into the system, but the there was no desktop (i.e. compiz was broken). There was only the graphics layer. With that you can still open open a terminal (right click) but it cannot be moved since compiz did not work. In order to get the control center, you could type in terminal:
unity-control-center --overview
... but there is nothing in there that would fixing the problem. However, you can create a new user (see below)
Solution: Kill yourself and get a new better self. Do do so:
Comment:
Type:
lsb_release -a
From the command line, to update the repository information:
sudo apt-get update
To upgrade
sudo apt-get dist-upgrade
sudo apt-get dist-upgrade
If something like GPG error: http://mirror.switch.ch hardy-updates Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com> happens, you might change the server. Either,
Or
Or get a new key (2) Identify the missing ones
sudo apt-get update sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com XXXXXXXXXX
apt-get dist-upgrade
To upgrade
do-release-upgrade -d
apt-get install php5-gd php5-mcrypt php5-suhosin
By default, a workstation will use numbers from DHCP and that should work without problems.
Alternatively, you also can, in some institutions, that DHCP always provides you with a fixed address. Ask. This solution works in our institution.
Finally, if you want to add manually a or several fixed IP numbers.
More simply, on a workstation, use the "Network" tool in the System settings
. Click on Options, then the various tabs ...
Read more about this topic:
It's a bad idea to keep your files on your personal PC. Since we have sun servers with daily backup I just mount partitions via NFS. NFS may not be included in your install
apt-get install nfs-common
mkdir /mnt/YYY
then edit /etc/fstab and enter line(s) like this
XXX.unige.ch:/export/home /mnt/YYY nfs defaults 0 0
Then mount these
mount -a
Changing your user id to make it compatible with the one that sits on the server
groupadd -g 6001 stars
usermod -u 6001 dks
or if you want to change the uid too:
usermod -g 6000 -u 6001 dks
Firewall
If the mount -a doesn't work there could be a firewall problem. You will have to open NFS communication channels. On the server machine, check the 2049 port.
grep nfs /etc/services
... might tell you what ports nfs needs, e.g.
nfs 2049/tcp # Network File System nfs 2049/udp # Network File System
Now check if these ports are open
sudo ufw status
Change if necessary on the server machine (see below for more details)
ufw allow from your_client_ip to any port 2049 proto udp ufw allow from your_client_ip to any port 2049 proto tcp sudo ufw reload
Become root, or add "sudo" in front of all commands ...
Either NFS or Samba allow to share a partition with other (client) machines. In order to use NFS:
1) Install NFS on your server machine
apt-get install nfs-kernel-server
2) Configure the directories to be exported by adding them to the /etc/exports file. For example:
/export/data mymachine.yourorg.org(rw,sync,no_subtree_check)
will export the directory /export/data/ for the host (computer) mymachine.yourorg.org with (with-permissions). Do not use something like:
/export/data *(rw,sync,no_root_squash)
I.e. only give specific machines access to your partition and do not let your client machine be root.
2b) If your client machine (e.g. a personal Linux computer) is not in the DNS, then you can either provide an Internet number or define your machine in the /etc/hosts file, e.g.
129.xx.y.z mymachine
Then in the /etc/exports use something like
/data mymachine(rw,sync,no_subtree_check)
or
/data mymachine(rw,sync,no_subtree_check) mylaptop(rw,sync,no_subtree_check)
or
/web 192.0.2.1(rw,sync,no_subtree_check)
After doing so, type in the shell
exportfs -a
And check:
exportfs
3) Mount the exported directory on your client machines, as already explained above. Firstly make sure that nfs-common is installed.
apt-get install nfs-common
mkdir /mnt/data
servermachine.x.y:/export/data /mnt/data nfs defaults 0 0
mount -a (on your machine)
If it doesn't work, look at the log files of the server machine. Most likely you failed to give permission. Also, you should restart the NFS daemon on the server. Type:
/etc/init.d/nfs-kernel-server restart
4) User id and group ids
If you want to write files in the server, then user and group id's must match on both machines....
To create an ordinary group of users:
groupadd -g GID_number group_name
e.g.
sudo groupadd -g 1200 toto
If you want to add the user to other groups, use the -G flag or use usermod. E.g.
A simpler way to make someone admin, is to use the GUI (User Accounts tool in the System tools)
List verbously all users
Add a user (Samba V3)
[data] path = /pics comment = Data writeable = yes valid users = @tourists create mask = 0664 directory mask = 0775
sudo apt-get install openssh-server
Read: OpenSSH server
Via scp
An easy way to copy files is to use the scp command which is installed by default.
cd ~/some scp -r username@remote.host:/home/user/some/source_dir/ .
Via rsync
The rsync program allows to synchronize files between two machines and also can be used to copy and can be recommended to distracted people...
Make sure to include either a trailing slash in the destination folder or go there ! dry-run
does what it implies and you should use it first.
sudo rsync --dry-run -azvv -e ssh /home/path/folder2/ remoteuser@remotehost.remotedomain:/home/path/folder2
cd target rsync -avzh user@remote.host:/home/user/source_dir .
cd rsync -azh schneide@129.194.30.22:/home/schneide/Music .
Via Tar and ssh
(cd /home/path && tar czf - . ) | ssh user@new.machine 'cd /home/path && tar xzf -'
Can misbehave.
In case you got sticky keys: Press the accessibility icon on top menu bar and disable sticky keys. Same for slow keys. (See this)
If key mappings are wrong and you got a logitech keyboard, see below.
Did not work for me. Even the latest 1.18 version did not recognize the Logitech K280e on Ubuntu 22.04 LTS. This wasn't a real problem, since this keyboard works really well.
sudo apt install solaar solaar
Hower, solaar may not be up-to-date in the official repository and your Logitech device may not be dectected. In that case, you can try downloading a newer version from the repository. For example
sudo add-apt-repository ppa:solaar-unifying/stable sudo update sudo apt upgrade solaar
Ubuntu 18 easily detects two high resolution monitors (probably under the condition that you did install the third party modules, i.e. an option when you install the system)
Most older Linux distribution's installers (at least the free ones) can't handle some slightly more fancy hardware automatically. Usually you have to do either of two things
Also read:
I got
The card has four DisplayPort (DP) slots and the (combined) X Screen 0 has 5280x2560 pixels (1397x677 millimeters)
Connecting a high resolution (as of 2017, i.e. 4K) and a half-high resolution monitor does work for both Ubuntu 16 LTS and 18 LTS.
Main trouble when connecting the monitor was that I did not push in the DP connector enough on display side and the system would not detect the monitor. Only after switching the cable I figured it out. Also when you close the "door" at the back of the screen, the DP can become loose again...
Using DP seems to affect sound output, i.e. after connecting a DP monitor sound will be gone ...
pavucontrol
and use Line Out built-in Audio (the normal Sound controls will not detect this)This is not required usually. Only do it iff you run into trouble.
Some documentation
Firstly, you should know what drivers you have got. In a terminal, type:
nvidia-smi
The should you see something like the following, i.e. driver version and card model.
Fri Apr 28 18:02:59 2017 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 381.09 Driver Version: 381.09 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Quadro M4000 Off | 0000:03:00.0 On | N/A | | 46% 38C P8 13W / 120W | 179MiB / 8111MiB | 0% Default | +-------------------------------+----------------------+----------------------+
Alternatively, try
nvidia-settings
If you don't see anything, then there is no driver installed (or you may not have an Nvidia card).
To install or replace a drive, make sure that your machine allows installiong 3rd party drivers.
If you cannot see or use the desktop:
CTRL-ALT F1: To get a terminal
Get rid of old nvidia drivers
sudo apt-get purge nvidia-*
Install the repository (if not already done so)
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update.
Figure out the name of the latest driver. There are several strategies:
sudo ubuntu-drivers devices
Install the latest driver
# sudo apt-get install nvidia-370 // Make sure to take the best driver you need. Best can be the latest, but not necessarily so... sudo apt install nvidia-381
Setting default fonts of all application is difficult in Ubuntu. You may have to change several settings using several tools. After an upgrade, settings may revert (so keep a note of what you did). Read more here (Adapt Ubuntu to a high-DPI resolution screen)
In Ubuntu 16, you easily can tune the size of menu bars. In the system settings go "Displays" and set the "Scale for menu and title bars", e.g. to 1.38 for a 3840x2160 32 screen and 1.2 for a 2560x1140 27
unity-control-center display
Fixing menu bars will not fix application fonts. You could change "universal access" fonts, but the applications that do respect this (e.g. terminal, thunderbird, ryhthmbox already do adjust font pixels. If you want to try nevertheless, type:
unity-control-center universal-access
Firefox:
about:config
layout.css.devPixelsPerPx
to a value between 1.2 and 1.5 (I use 1.3 but I got good glasses)Thunderbird:
Java:
Install unity tweak tools.
Upgrade the system first !
Installing only the tweak tool did not work ( schema com.canonical.notify-osd no installed). As of July 2018, do the following:
sudo apt-get install notify-osd sudo apt-get install --reinstall overlay-scrollbar sudo apt install unity-tweak-tool
The launch it and set Overview -> Fonts, Text scaling factor.
Firefox and Thunderbird: Do as explained in the previous section (Ubuntu 16). That being said, after changing the params in Firefox then ones in Thunderbird did change too. Rather freaky.
You could set "turn off" and "sceen lock" through the standard GUI tool "Brightness and Lock". However, the max. amount you can input is 60 minutes for both.
to change in terminal to blacken after 1 hour and to lock after 2 hours:
gsettings set org.gnome.desktop.session idle-delay 3600 gsettings set org.gnome.desktop.screensaver lock-delay 7200
Check the settings:
gsettings get org.gnome.desktop.screensaver lock-delay gsettings get org.gnome.desktop.screensaver idle-delay
Cannot not see the desktop
You could try to deinstalling the current driver and replace by a new one. See above.
As of April 2017, you will get strange window decorations, fuzzy around the edges. Workaround: Restart the window manager
compiz --replace
Solution (maybe). Download the latest driver (see above)
sudo apt install nvidia-381
This will ask again to confirm that secure boot is disabled
reboot
... and answer the funny questions
After installing
sudo apt-get autoremove
System cannot wakeup after a longer suspend,
You also can try hitting the SHIFT key a lot and then press CTRL-ALT-F1 (log in again)
Search System settings, then Displays. Ubuntu should autodetect your monitors. You then can change resolution, rotation and position for each.
For more advanced settings, search CompizConfig in the Dashboard, or type ccsm. You may have to install it and if you have a double monitor configuration, you must install the extras
sudo apt-get install compizconfig-settings-manager compiz-plugins-extra ccsm &
In addition you could change the hot key for switching.
... Having to install an advanced configuration tool with advanced extras is totally ridiculous. Under Windows adding a second monitor is plug and play. Under Ubuntu this takes 1 hour ore more to figure out.
Recent Ubuntu editions handle Quadro cards quite well (iff and after you managed to install the system, see above). Just use the display tool in the systems settings.
In case you are interested in older versions of Ubuntu, see the wiki history of this article.
According to this Stackexchange, If you are root on another machine and you get " X11 connection rejected because of wrong authentication." try the following (worked for me)
ssh remote_host -XY -luser sudo su cd xauth merge /home/user/.Xauthority
Most fonts one can download are zipped
Install with the font manager
Install by copying
Install system wide
apt install fontconfig
sudo fc-cache -f -v
By default, Ubuntu disables the beep in terminals
To get it back (according to this)
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
to the file ~/.xprofile[ "$DISPLAY" ] && xset b 100
to the file ~/.bashrcTo get a bell in Emacs, read AlarmBell
By default the window control buttons are to the left in Ubuntu 10.04 LTS - the Lucid Lynx - released in April 2010 (annoying for older people like me who don't want to retrain procedures for no good reason).
To fix this, i.e. move the control buttons to the right as before: Press ALT-F2 or open a terminal and type gconf-editor. Navigate to /apps/metacity/general and change the button_layout to :minimize,maximize,close (the : must be in front).
Of course, you also could specify :maximize,minimize,close ....
So your GUI is stuck ....
To open a console terminal (no GUI), new login
CTRL-ALT F3 to CTRL-ALT F7
Warning: In Ubuntu 16 one could use CTRL-ALT F1 etc. but that does no longer work !!
Then you can for instance restart the Window manager:
sudo restart lightdm
To go back to the desktop (Ubuntu 16)
CTRL-ALT F7
To go back to the desktop (Ubuntu 16)
CTRL-ALT F2
To see boot system messages
CTRL-ALT F8
To restart the X server (your GUI)
CTRL-ALT BACKSPACE
Basically, an end-user can do most of this stuff with a GUI tool, i.e. the synaptic package administrator. However it is good to know a few command line things for 2 reasons:
A list of command-line stuff (you must be root or add "sudo" in front of each). Sometimes there are equivalent commands for abt-get and aptitude. See the apt howto at Debian.
(if you can, you can also do this from the desktop package manager) Edit /etc/apt/sources.list
You should at least have:
deb http://archive.ubuntu.com/ubuntu/ hardy main universe multiverse restricted deb http://archive.ubuntu.com/ubuntu/ hardy-updates main universe multiverse restricted
... but the it's better to use a nearby mirror, e.g. for Switzerland:
deb http://mirror.switch.ch/ftp/mirror/ubuntu/ (... same for the rest ...)
To check if there are any partially installed packages. It will try to complete these installations.
dpkg --configure -a
To find a package XXX
aptitude search XXX
apt-get install XXX
If this fails because of dependency issues, you then can try:
apt-get -f install
To detect and fix dependency problems
aptitude -f install
To remove packages from the local cache
apt-get clean
To update the package list
aptitude update
To reinstall a package XXX that seems to be broken
apt-get --reinstall install XXX
To upgrade conservatively
aptitude safe-upgrade
To upgrade with a an message showing packages
apt-get -u upgrade
To upgrade to a new release
apt-get -u dist-upgrade
To really remove package XXXX
apt-get --purge remove XXXX
If a package doesn't want to go (e.g. something went wrong during install, e.g. a decompression error and a crash in the middle of the install) and an installer (or you) wants it go, look for the package in /var/lib/dpkg/status and make it install ok installed Followed by:
apt-get remove --purge XXXX apt-get update apt-get dist-upgrade (or whatever you planned to install)
Sometimes, software is distributed as package for download, i.e. a *.deb file
To install it:
dpkg -i XXX.deb
If you run into dependency error messages you'll have to add packages (no problem) or remove packages (avoid !).
Example (for the eXe eLearning authoring system):
dpkg -i python2.5-exe_1.04.0.3532-ubuntu1_i386.deb
will give:
Unpacking python2.5-exe (from python2.5-exe_1.04.0.3532-ubuntu1_i386.deb) ... dpkg: dependency problems prevent configuration of python2.5-exe: python2.5-exe depends on python-zopeinterface (>= 3.0.0-6); however: Package python-zopeinterface is not installed. dpkg: error processing python2.5-exe (--install): dependency problems - leaving unconfigured
First thing to do is to try something like:
apt-get install python-zopeinterface
xxx is the package name or package file (*.deb) name
apt-cache search xxx
apt-cache showpkg xxx
apt-cache show xxx
dpkg -S xxx_file_name
or
apt-file search filename
dpkg -l | grep xxx
dpkg --unpack xxx.deb
dpkg -c xxx.deb
In theory:
apt-make hold packagename
However, this doesn't seem to work as expected, i.e. Ubuntu will try to update dependencies of a package that you not want to upgrade. For exemple if your package uses and old Java, it will try to update it, although it is gone from the repository.
Edit file /var/lib/dpkg/status
Dependencies:
Identify the kernel you currently use:
uname -r
List all installed images:
dpkg -l linux-image-\* | grep ^ii
If the following does not work (e.g. because the file partition is full):
sudo apt-get purge linux-image-3.2.0-55
try:
sudo dpkg --purge linux-image-3.2.0-55-generic ... etc.
Then, in order to complete a previous failed installation:
sudo apt-get -f install
Finally, now clean a whole lot of other old ones, eg.
sudo apt-get purge linux-image-3.2.0-58 linux-image-3.2.0-59 linux-image-3.2.0-60 linux-image-3.2.0-61
And remove other stuff you don't need
sudo apt-get autoremove
There exist several other distribution mechanisms, such as flatpack or appimages
App images contain all the libraries needed to run an application. It therefore should run on most Linux systems.
To use:
For better integration, read this. In short, install AppImageLauncher. If you click on an appimage in the filemanager, it will copy it to a specific directory and integrate it in the system, e.g. you can dock the application later.
sudo add-apt-repository ppa:appimagelauncher-team/stable sudo apt update sudo apt install appimagelauncher
This only will work with clean appimages. Those that are broken and need extra paramters do no seem to work. E.g. mendeley needs an extra --no-sandbox parameter.
./mendeley-reference-manager-2.84.0-beta.0-x86_64_cb2cce94615522bfd12079b8bad4cd8b.AppImage --no-sandbox &
Printers don't necessarily work automatically either:
Before connecting a network printer, it is likely that you need a a PPD file (a file that defines properties of your postscript printer). Get it from:
(this needs to be verified)
Example for Infotec ISC 1032 (A low end color copy and printer machine)
Read Use different username on CUPS remote printing
Summary (Quoted from above) According to the man page https://www.cups.org/doc/man-client.conf.html, a User directive could be placed in /etc/cups/client.conf or ~/.cups/client.conf
However, this didn't work for me in Kubuntu Trusty. What worked, was to export the CUPS_USER environment variable by adding the following line in ~/.profile:
export CUPS_USER=vangelis
We run a few sun servers and I prefer to run emacs (GUI) on a remote machine instead of mounting all these file systems. Also I prefer to have a root terminal open instead of typing 'sudo' all the time. If you want allow for this:
DisallowTCP=true
xhost + localhost
xhost + xxx.yyy.zzz
You can install nmap to scan ports (X is on 6000).
sudo apt-get install nmap
nmap -v -A localhost
In some cases you may have to define the display of your machine on your client machine. On your client machine type something like:
export DISPLAY=xxx.yyy.zzz:0
or
setenv DISPLAY xxx.yyy.zzz:0
Or more practical, log into the the client machine like this:
ssh -XY
By default Ubuntu comes with some Java compatible version that is free. For some applications though, you need Java 7 or 8 from Oracle (Java formerly was made by Sun)
(tested with Ubuntu 18 LTS)
There are several repositories from which you can get an installer. Alternatively, you could Java from Oracle and install it manually.
Read this:
sudo apt update sudo apt upgrade
.....
(tested with Ubuntu 14.x LTS)
Read this:
Install it:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
Test it:
java -version
You should see something like
java version "1.8.0_77" Java(TM) SE Runtime Environment (build 1.8.0_77-b03) Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
Several java version can be managed through script, but at the system level there is a simpler solution
sudo update-alternatives --config java
Installing Java does not install a plugin in Firefox. Java is needed for many institutional applications and in addition there are many interesting applets for education. So let's go. Make sure that Java is installed on your machine (e.g. see above for Oracle Java).
For old Firefox version
The following will not work with a recent Firefox )> 53 I believe)
Install a a Firefox plugin that should enable a currently installed Open Java (did not work for me)
sudo apt-get install icedtea-plugin
Create a symbolic link to the Oracle plugin from the Firefox plugin directory (did not work for me)
cd /usr/lib/firefox-addons/plugins ln -s /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libnpjp2.so
Install the Firefox ESR version (this works)
It seems that the only way to have Java under Linux is to install an old version of Firefox. The "ESR" version was made for just this purpose.
* Download firefox ESR * Unpack the bz file somwhere, e.g. in ~/bin/firefox tar xjvf firefox-52.2.0esr.tar.bz2 mv firefox ~/bin/
Then launch it like so:
~/bin/firefox/firefox --new-instance -P ESR
Since Ubuntu 16LTS, sound works rather well. The only problem is figure out how to hook up the external speakers (see the display section for that)
Music services through the browser may not work (google for solution).
E.g. to use Amazon cloud music, read this
Nuvola is available through flatpak, a kind of app distributor that works across various OSs.
sudo apt-get install flatpak xdg-desktop-portal-gtk gnome-software-plugin-flatpak flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo flatpak remote-add --if-not-exists nuvola https://dl.tiliado.eu/flatpak/nuvola.flatpakrepo flatpak update flatpak install nuvola eu.tiliado.Nuvola
The launch flatpak and find the nuvola amazon cloud player. Click on install.
This worked for me (Ubuntu 18, using Amazon France from my workplace in Switzerland). Listening to Lazy Bird from John Coltrane while writing this.
After installing Ubuntu 18 it became impossible to listen to Music. Something that pulseaudio does seems to be the reason.
killall pulseaudio
Caveat: Needs to be repeated each time you reboot.
The next solution also seems to work (various forums give this solution)
1) Edit file
/etc/pulse/default.pa
2) Change line
load-module module-udev-detect
to
load-module module-udev-detect tsched=0
3) Then restart
pulseaudio -k pulseaudio --start
Notice: Removing pulseaudio from the system does not seem to be a great idea.
In older Ubuntu distributions (e.g. LTS 12) sound may not work either.
If sound doesn't work search the Ubuntu forums: http://ubuntuforums.org/. A particular good overview posting was:
To list you sound hardware, type:
aplay -l
If there are none, type:
lspci -v
... and search through the list until you find something like:
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
This means that you do have a sound card, but that the drivers or something else is missing....
Anyhow it may take some time (between a few minutes and a few days) to find a solution. Often, the only thing you'd have to do is to add a line to /etc/modprobe.d/alsa-base (needs root permissions). I have for my DELL/Sigmatel:
options snd-hda-intel model=ref
Then, reboot !
Note: To list all drivers on your machine, type:
lsmod
If I understand right, drivers are kernel modules.
Nearly no Java Web site will run once you enabled Java.
Give these sites permission (of course, only do that with your local administration or non-local friendly educational applications...)
jcontrol &
To edit a playlist (i.e. reorder items), there are two options
.local/share/rhythmbox/playlists.xml
Also, it's a good idea to remember that you can copy this file, if you decide to re-install your machine and start with a clean/new setup
sudo nmap -O xxx.yyy.zzz.1-255 | grep "Running: " | sort | uniq -c
Some organization maintain their own Debian/Ubuntu package servers.
Works quite well on Ubuntu 22
If it does not, try man dropbox, e.g.
dropbox status dropbox start dropbox update
Most people did agree that Shutter was the best tool
sudo apt install shutter
Since Ubuntu 18, there is also Flameshot, but unless I missed something it cannot do text.
sudo apt install flameshot
flameshot gui
Neither is as good as Greenshot for Windows IMHO, but both are OK. Since Flameshot is new, it might have bugs (I do not know)
Shotcut is a cross platform free video editor which has good rankings (also on Windows). Tested on oct. 2017 with Ubuntu 16x.
There are different ways to install it. I chose a PPA distribution that seems to be trustworthy. I also had to add a missing library after installing.
sudo add-apt-repository ppa:haraldhv/shotcut sudo apt-get update sudo apt install shotcut
First time, launch it in the terminal so you can spot errors if there are.
shotcut
Install this one before if you do not have it.
sudo apt-get install libsdl2-2.0
Mendeley, the bibliography and article manager does have a Debian distribution.
Read Download Mendeley Desktop for Ubuntu.
Run it:
mendeleydesktop &
Also, install the libre office and web browser plugins if not already done so.
E.g. to install Skype, you could
deb http://download.skype.com/linux/repos/debian/ stable non-free
Read How to install Google Chrome (askubuntu)
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' sudo apt-get update sudo apt-get install google-chrome-stable
Show
sudo ufw status sudo ufw --help
To allow port 7777 for tcp for everyone:
sudo ufw allow 7777/tcp
To allow port 2049 for TCP and UDP for a given IP (replace your_ip_number with your IP number)
sudo ufw allow from your_ip_number to any port 2049 proto tcp sudo ufw allow from your_ip_number to any port 2049 proto udp
To allow everything from a given IP
sudo ufw allow from ip_number_here
After that, reload the firewall:
sudo ufw reload
To disable / enable
sudo ufw disable
sudo ufw enable
Add yours ...
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable sudo apt-get update sudo apt-get install cinnamon
Then, log out and you will have the option to use Cinnamon. The normal Ubuntu Desktop will remain there and you can therefore switch back easily....
(there are many others)