Webgl unavailable on Chromium but works well on Google Chrome

Ok, so I found a solution to my problem. As I mentioned that I have installed both, Chromium as well as Chrome, I checked the chrome://flash page.
It mentioned Nvidia as Driver vendor, GL_VENDOR, GL_RENDERER for Chromium.
And for Chrome it mentions:

Driver vendor Mesa
Driver version  11.2.2
GL_VENDOR   Intel Open Source Technology Center
GL_RENDERER Mesa DRI Intel(R) Haswell Mobile
GL_VERSION  3.3 (Core Profile) Mesa 11.2.2

I had installed Chromium when I had Nvidia Graphics Driver. But then I removed it as it caused issues. So, the Chromium was unable to locate it.

I simply uninstalled Chromium using the following commands and reinstalled it. Things are working perfectly now.

sudo apt remove chromium-browser
rm -rf ~/.cache/chromium
rm -rf ~/.config/chromium
sudo rm -rf /etc/chromium-browser

The chrome://gpu/ page shows the following output.


When I installed Ubuntu to replace Windows 7, I could nolonger see my Backup disk D and all my data seems to be lost. Can I recover the data?

During the installation, did you choose the option-
'Erase Everything and install'?

If you did that, then i think your data may be lost.

I dont know much about data recovery, but you should not operate ubuntu from your hard drive to minimise disk changes, and boot from the ubuntu installation disk.

When you boot from it, open the Gparted application, and in the menu bar there is an option -> device -> recover partition table

try that option, maybe it recovers your partitions.


where/how to find the last linux-image patched with apparmor (Kernel needs AppArmor 2.4 compatibility patch.)

You can see the history of the Precise (3.2) linux kernel at http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-precise.git;a=log. It took a few seconds for it to come up for me.

There's a wiki containing information about the Ubuntu kernel team here.

Wikipedia says that apparmor has been included in the kernel for quite some time, by the way.


this means that you already have the jdk application

to open the just press the super button then type the name (bluej) of the application

if you need the bluej the link to download is here. Download the .deb package and just try to open it using the software center and get it installed.


Ubuntu Server 15.10 installing CUDA drivers

please review the CUDA Download Zone. Currently the latest version of Ubuntu officially supported is Ubuntu 15.04. So of course it might work to install the drivers on Ubuntu 15.10, but I haven't done it yet.

Please see this guide on how to install CUDA on Ubuntu Server 11.04. Be sure to take care with the gcc steps the guide does. Before simply copy&paste the commands, please check that it won't change things you don't want to change.

This guide gives help on how to install CUDA 6.5 on an Amazon AWS instance of Ubuntu server. You might adopt the steps and see if it works.

Good luck,
Simon


First check if your account already exists among smbdclients:

sudo pdbedit -L

if the account is not there just run (e.g on pc: myaccount@server):

sudo smbpasswd -a myaccount

otherwise if already exists, you have to delete first and recreate a new one:

sudo pdbedit -x -u myaccount
sudo smbpasswd -a myaccount


Here is how I would do it without xmodmap.  I'm not sure if I can emulate the SysRQ key this way, but it should work for other keys.
Step One
Install xbindkeys and xte:
sudo apt-get install xbindkeys xautomation

Now we need to find the bindings of the keys you want to use as Super.
Run xbindkeys -k and press the keys you want.  The output should look something like this:
    m:0x15 + c:110
Control+Shift+Mod2 + Home

(I used Home because I can't use SysRQ on this computer since it requires FN to access it).
Step Two
Create the xbindkeys configuration file:
touch $HOME/.xbindkeysrc

Now open the file so we can edit it:
gedit .xbindkeysrc

Add this to the bottom of the file:
"xte 'key Super_L'"
 m:0x15 + c:110
Control+Shift+Mod2 + Home

Save the file.
Restart the computer.  The keys you chose earlier should now act as Super when you press them.


Install alongside will break my computer? What option should I use?

Install alongside XP for dual boot, Ubuntu will set up parameters needed with the hardware, that will work fine however, if you decide you like Ubuntu better, the original install might not give you enough space to grow (media wise that is).

"Something different" choice allows you to manually configure the hard drive partitions but you might want a second PC to view tutorials on how to do that in the process.

Not being tech savvy, go with choice 1. Afterwards you can always resize the partitions with Puppy Linux, Parted Magic or Gparted live disks. If Win XP NTFS partition already occupies the entire drive, you'll need a Gparted live disk to resize it anyway before installing Ubuntu alongside. I recommend once you resize it, to reboot in Windows BEFORE installing Ubuntu to make sure everything boots, if it doesn't there are ways to fix the MBR without losing your XP operating system.

I have an old Dell Dimension 2400 set up that way with XP Home SP3 and Ubuntu 11.04. I can't run higher versions of Ubuntu on that 32bit machine, its a single CPU (multi-thread), just doesn't have the hardware to run later versions (already tried it with 11.10 and it couldn't handle it so went back to dual boot Ubuntu 11.04. For a little while I also had Linux Mint 10.0 so when Grub loaded (that'll be your new boot menu after installing Ubuntu) it had Ubunut, LM10 and Windows XP Home (SP3), all 32 bit OS's. I've since removed LM10 as have LM13 running on a newer pc.


My system is running in low graphics mode and I had forgot my username please help me

Easiest solution: a reinstall. If you're not sure about your password try auto login when in the "Who are you?" part of Ubiquity.
If you really don't renember your username, try cut -d: -f1 /etc/passwd.

To get rid of low graphics mode you need to install your propietary drivers for your GPU. The majority of them can be found in the ppa:graphics-drivers/ppa


To install with USB stick you have to follow this procedure to make a bootable USB. Did you do something similar?

Edit: Why don't you try to use the method I linked, it is very well suited for users not expert in programming. It is a very straight forward procedure.


Purple and green screen when watching video on youtube?

Try updating your flashplayer and/or your video card drivers. If that's not an option, try to disable hardware accelleration in the flashplayer's settings.


How to log-in via TTY by instead of GDM?

What txwikinger said, but then to make it automatically run startx when you login, edit ~/.bash_profile  -- that file is only executed on login shells, not in normal terminal emulators that you open on your desktop.

EDIT:
~/.profile if you don't use bash


Im not sure if this will help, but to set up a network, you open interfaces and fill in the details e.g

sudo nano /etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.2.11
gateway 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
dns-nameservers 8.8.8.8 ###Googles dns server


I know how :)

Uninstall Java first (choose one of these three) :

you can type the following into your terminal :

sudo apt purge default-jre

if this is not a removable package (although it should be since that's what you installed) then run this instead :

sudo apt purge openjdk*

if this is still not it then this must be it :

sudo apt purge oracle-java*

Then reinstall the Java version you want :

sudo add-apt-repository ppa:openjdk-r/ppa -y
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre

there java 8 jdk is now installed.

it now no longer possible (at all, to my knowledge, please correct me if not) to install oracle's version of java 8 (and especially not 9) jdk on ubuntu.


Fn + F3 / F4 backlight keys for keyboard brightness not working in Asus laptop?

sudo apt-get update
sudo apt-get install lm-sensors tp-smapi-dkms tpb
sudo sensors-detect

Works fine for me.


ESM needed: more payment options for Ubuntu Advantage subscription, besides by credit card number?

Yes indeed, the free for 3 machines would be more than enough for me. I thought it was not yet available for Ubuntu 16.04 (hence I tried the purchase) because installing the ua token failed, but now I understand (from this post by C.S. Cameron) that I need to install a UA client first. I did so and now the problem is SOLVED. Thanks for these answers, are quite helpful!


rm -f ~/.bash_history (don't use -r!) will remove the history log, which in the default configuration of most distros is read when you start a new shell. Doing this will therefore only affect shells that you start after running this command. You can replace your current shell with another one by running exec "$SHELL" to avoid creating a new terminal window.
history -c clears the history for the current shell, and does not delete ~/.bash_history. But when you run a script the current shell creates a new shell to run the script in and exits that shell when the script is done. Instead, to execute a script in the current shell you have to source the script. In your case, try running . foo.sh.


Here's the generic fix for Realtek audio that usually fixes a number of issues. Grab yourself a terminal and enter the following line -

sudo gedit /etc/modprobe.d/alsa-base.conf

Add this on a new line at the end of the configuration file -

options snd-hda-intel model=generic

Save and restart your computer.

If that doesn't work, repeat the same but change model=generic to model=auto


merge storage partitions in Ubuntu command line

No it can't be done

First, let us be clear about some terminology. memory is RAM what we are discussing here is storage in the form of virtual disks. RAM is not mounted or partitioned, on the other hand storage as a physical (or a virtual) drive can be partitioned and then mounted.

The fdisk command shows your virtual Ubuntu server has three virtual drives, not three unmounted partitions in a single virtual drive. If you had a physical computer with three physical disk drives, you wouldn't be able to smash them together and make a single physical drive. Similarly, you won't be able merge these virtual drives into a single drive.

There is a way to do this using Logical Volume Manager (LVM), but that would require erasing everything in in /dev/vda/ and do it at the time of a new install.

There is another way

Since your drives are not physical, but virtual you should be able to increase the size of /dev/vda when the virtual server is turned off using some tools in the virtualization software in the host computer. The exact method will depend on the host operating system (Ubuntu, Windows, etc.) and the specific virtualization software you are using (qemu, Virtual Box, VMWare etc.).

If you are not using /dev/vdb and /dev/vdc you may delete these from the virtualization software and the corresponding files host computer.

Hope this helps


How do I know which partitions belong to Linux, and which belongs to windows?

How do I know which other partitions I can delete, without screwing up Windows 7?

You can identify Windows 7 partitions by those that are called "ID/Type 07: HPFS/NTFS". Rarely, Windows 7 systems may also have partitions with type "vfat". Leave those alone.

Linux partitions will have ID 83 (types can be ext2, ext3, ext4, etc.), and ID 82 (Linux swap, as you noted).


Computer (Amd64 Turion processor) not booting after instalition

In the Ubuntu CD, before you install there are some options that could help you determine what's the problem with your laptop.

Boot the CD and when you get to the CD Menu, choose: Test Memory.
It will run MemTest+, it could take a while, something between 20~50 minutes, depending on the system.

You can also run Ubuntu without installing it.
Choose the option: Try Ubuntu without installing.
From there check if you can mount your Hard Disk with no problems.


The USB 2.0 speed is probably not even the bottleneck, but most SD cards and card readers are really slow.

You could try to use palimpsest to measure the speed, although when I tried it with an SD card it said that the drive is too slow to even measure it.


Have you tried adding to eclipse.desktop:

env UBUNTU_MENUPROXY=0 SWT_GTK3=0

See here.


The best idea is to try resizing it in Live Ubuntu mode. Make an Ubuntu bootable USB, and boot from it, selecting Try Ubuntu without installing. Since neither of the partitions of the dual-boot will be in use here, they should be easier to resize in the Gparted application (which is included with Live Ubuntu). Just ensure you unmount all the partitions before trying to make any modifications!


{color ffff00}${exec xset q | grep "Caps Lock:   on" | awk '{print $4}'}${color}

works for me.

Please note that having too many exec in your Conky could increase demand on your system resources.

Also, how soon you see "on" depends on the frequency of updating. In other words, it will depend on the value you have set. I update every two seconds:

update_interval 2.0

You may also want to position where "on" appears but that will depend on the rest of your Conky code. For example, what values of gap_x and gap_y you set. I have my minimal Conky at the top of the screen and I use

gap_x 3
gap_y 4

along with

${goto 500}

prepended to the the actual code so that "on" appears near the top center of my screen.


Openbox - How to automatically suspend on idle?

Here is one solution I found:

sudo apt-get install xautolock

Add the following to your ~/.config/openbox/autostart file:

xautolock -time 10 -locker "sudo pm-suspend" &

Now the computer will go in suspend mode after 10 minutes of inactivity.


is there any gui for ELF file ( probably using readelf)?

Try this: https://sourceforge.net/p/beye/wiki/Home/. It is a file viewer but has ELF displaying and navigating capabilities.


Unable to open a SD Card, but it is OK on a Mac

I have several USB pendrives and SD cards made by Sandisk, and they work for me in Ubuntu 18.04.1 LTS.

There may be some data in the first mibibyte, that are confusing your tool(s), so that they fail. I suggest that you install mkusb and use it to

either wipe the first mibibyte with mkusb and then use another tool (e.g. gparted) to create a partition table, partitions and file systems, that you want,
or restore the card to a standard storage device with mkusb (quick and easy, you get an MSDOS partition table with one partition with a FAT32 file system).

If this does not work, I suspect that there is a problem with the card reader/adapter (that it does not cooperate well with Ubuntu 18.04 LTS).


Yes, it is normal that you have to change the permissions or the ownership after you create a partition. If you're on a multi-user system, you don't want everyone to be able to do with your storage medium whatever they please, unless you granted them the rights to do so. By default, only root is allowed to write to a partition.

To grant yourself permission to do so, open the partition in Nautilus. Then, right-click blank space and choose "Open in Terminal". In the terminal, execute this command:

sudo chown yourusername .

If you want to grant every user full access (might come in handy if you use the same drive on different computers), you can give everyone full rights via this command:

sudo chmod 777 .


You can do this several ways:

1 - Simply reinstall Windows 8, it will format and occupy entire disc;

2 - You have to use an Ubuntu Rescue CD do boot and remove Grub

3 - Using Windows DVD do a recovery system


According to a similar question in an Intel forum, Disk fills up, large ULG files in /var/lib/mavlink-router, these ULG files are logfiles of the mavlink-router.

There are only two workarounds:

Either disable logging:

  Modify /etc/mavlink-router/main.conf and comment out the line below:

[General]
#Log=/var/log/mavlink-router

Or setup a cronjob to delete them regularly once a day:

0 2 * * * rm /var/lib/mavlink-router/*.ulg && systemctl restart mavlink-router.service

At first, I thought logrotate with the following snippet could be of help:

/var/lib/mavlink-router/*.ulg {
    rotate 2
    daily
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
        systemctl restart mavlink-router.service
    endscript
}

But this won't work as intended because the filenames already have a timestamp and number in them, so each file has a different name and logrotate would simply compress them but never delete them. E.g. 00000-2018-05-22_05-14-52.ulg would become 00000-2018-05-22_05-14-52.ulg.1.gz but never get deleted because there won't be another file with that name that claims its place.

See this post for a possible solution with logrotate for files with timestamps in their name.


What does the Ubuntu Pictogram Mousemat and Coaster Sets Look Like In Real Life?

From the link:

Mouse mat is 19 x 24 cm
Coaster is 9 cm

That should give enough information on how large these 2 are?

In case you need imperial:

Mouse mat is 7.4 x 9.4 inch
Coaster is 3.54 inch

That should give you an idea of the sizes (or you can compare it to something in your househole; all you need is a ruler).

For reference: mouse mat and coasters next to a coffee cup:

Might be cropped though :D The mouse mat is a normal size one (the 2 I have here are about the size listed above).


How to install PHP7.0 ssh2 in ubutntu 14.04 for PHP 7.0.19-1+deb.sury.org~trusty+2

Just solved the issue.

The method to install SSH2 for php 7 and 7.1 running on ubuntu 14.04 is below:

Installing the library

For PHP 7:

sudo apt-get install php7.0-ssh2

For PHP 7.1:

sudo apt-get install php7.1-ssh2

Restart Apache2 server

sudo service apache2 restart


Ubuntu 18.10: Screen lock options grayed out

It is likely that your lock screen has been disabled. You can enable the lock screen with the following command in the terminal.

gsettings set org.gnome.desktop.lockdown disable-lock-screen false

If you want to enable the lock screen with a GUI you can do this with dconf-editor. You can install dconf-editor in the terminal with the following command.

apt install dconf-editor

Once you have dconf-editor installed enable the lock screen with the following steps.

Open dconf-editor.
Browse to /org/gnome/desktop/lockdown/.
Find disable-lock-screen.
Toggle option from On to Off.

Thanks to jugs for providing this solution at https://bbs.archlinux.org/viewtopic.php?id=227258


Yes its possible, there's a few ways to do it but the best and easiest way is to use Super Boot Manager, not only can you change your boot animation/screen but you can customize GRUB and or BURG. To install open a terminal and input these codes:

sudo add-apt-repository ppa:ingalex/super-boot-manager
sudo apt-get update
sudo apt-get install buc super-boot-manager

Then open super boot manager by searching in the dash for it. Then type your password when asked. Then you can proceed to click on the plymouth manager which controls your boot screen. When the window opens click on theme and you can select which theme you want to use for your boot animation. I personally love the earth sunrise one.

Super boot manager comes with a handful of themes pre-installed so you have plenty to choose from. Additionally there is a preview button which allows you to preview your theme.

When you find a theme you are happy with you can apply changes and enjoy your new boot screen.

Sources: http://www.omgubuntu.co.uk/2011/05/super-boot-manager-eases-burg-grub-plymouth-tweaking-pains
http://www.ubuntugeek.com/super-boot-manger-make-easier-and-intuitive-configuration-of-grub-burg-and-plymouth.html


ceph-osd No block devices detected using current configuration

If our environment is already deployed , I've resolved that using these two tasks:

1° Task

$: juju ssh ceph-osd/0
$: sudo fdisk /dev/vdb

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): d
Partition number (1,2, default 2): 1

Partition 1 has been deleted.

Command (m for help): d
Selected partition 2
Partition 2 has been deleted.

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
select "d" to delete all partitions and then "w" to write the new change.

then

$: sudo fdisk -l
Disk /dev/vda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2fa2c9a8

Device     Boot Start        End    Sectors  Size Id Type
/dev/vda1        2048 1048575966 1048573919  500G 83 Linux

Disk /dev/vdb: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 146912CF-FC27-4FDC-A202-24F05DC00E69

then

    $: sudo fdisk /dev/vdb

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition number (1-128, default 1):
First sector (34-1048575966, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-1048575966, default 1048575966):

Created a new partition 1 of type 'Linux filesystem' and of size 500 GiB.

Command (m for help): p
Disk /dev/vdb: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 146912CF-FC27-4FDC-A202-24F05DC00E69

Device     Start        End    Sectors  Size Type
/dev/vdb1   2048 1048575966 1048573919  500G Linux filesystem

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

then

$: sudo fdisk -l
Disk /dev/vda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2fa2c9a8

Device     Boot Start        End    Sectors  Size Id Type
/dev/vda1        2048 1048575966 1048573919  500G 83 Linux

Disk /dev/vdb: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 146912CF-FC27-4FDC-A202-24F05DC00E69

Device     Start        End    Sectors  Size Type
/dev/vdb1   2048 1048575966 1048573919  500G Linux filesystem

I've repeated this task also for the other machine ceph-osd/1 'n ceph-osd/2

2° Task

on Juju Gui I've changed on 3 ceph-osd the string /dev/sdb in /dev/vdb1, save 'n commit that

now its own status is "idle"

$: juju status
Model      Controller             Cloud/Region  Version  SLA          Timestamp
openstack  maas-cloud-controller  maas-cloud    2.4.2    unsupported  13:54:02+02:00

App                    Version        Status  Scale  Charm                  Store       Rev  OS      Notes
ceph-mon               13.2.1+dfsg1   active      3  ceph-mon               jujucharms   26  ubuntu
ceph-osd               13.2.1+dfsg1   active      3  ceph-osd               jujucharms  269  ubuntu
ceph-radosgw           13.2.1+dfsg1   active      1  ceph-radosgw           jujucharms  259  ubuntu
cinder                 13.0.0         active      1  cinder                 jujucharms  273  ubuntu
cinder-ceph            13.0.0         active      1  cinder-ceph            jujucharms  234  ubuntu
glance                 17.0.0         active      1  glance                 jujucharms  268  ubuntu
keystone               14.0.0         active      1  keystone               jujucharms  283  ubuntu
mysql                  5.7.20-29.24   active      1  percona-cluster        jujucharms  269  ubuntu
neutron-api            13.0.0         active      1  neutron-api            jujucharms  262  ubuntu
neutron-gateway        13.0.0         active      1  neutron-gateway        jujucharms  253  ubuntu
neutron-openvswitch    13.0.0         active      3  neutron-openvswitch    jujucharms  251  ubuntu
nova-cloud-controller  18.0.0         active      1  nova-cloud-controller  jujucharms  311  ubuntu
nova-compute           18.0.0         active      3  nova-compute           jujucharms  287  ubuntu
ntp                    4.2.8p10+dfsg  active      4  ntp                    jujucharms   27  ubuntu
openstack-dashboard    14.0.0         active      1  openstack-dashboard    jujucharms  266  ubuntu
rabbitmq-server        3.6.10         active      1  rabbitmq-server        jujucharms   78  ubuntu

Unit                      Workload  Agent  Machine  Public address  Ports              Message
ceph-mon/0                active    idle   2/lxd/1  10.20.253.216                      Unit is ready and clustered
ceph-mon/1                active    idle   0/lxd/0  10.20.253.95                       Unit is ready and clustered
ceph-mon/2*               active    idle   1/lxd/0  10.20.253.83                       Unit is ready and clustered
ceph-osd/0                active    idle   1        10.20.253.197                      Unit is ready (1 OSD)
ceph-osd/1*               active    idle   2        10.20.253.199                      Unit is ready (1 OSD)
ceph-osd/2                active    idle   0        10.20.253.200                      Unit is ready (1 OSD)
ceph-radosgw/0*           active    idle   3/lxd/0  10.20.253.87    80/tcp             Unit is ready
cinder/0*                 active    idle   0/lxd/1  10.20.253.188   8776/tcp           Unit is ready
  cinder-ceph/0*          active    idle            10.20.253.188                      Unit is ready
glance/0*                 active    idle   2/lxd/0  10.20.253.217   9292/tcp           Unit is ready
keystone/0*               active    idle   1/lxd/1  10.20.253.134   5000/tcp           Unit is ready
mysql/0*                  active    idle   3/lxd/1  10.20.253.96    3306/tcp           Unit is ready
neutron-api/0*            active    idle   0/lxd/2  10.20.253.189   9696/tcp           Unit is ready
neutron-gateway/0*        active    idle   3        10.20.253.198                      Unit is ready
  ntp/3                   active    idle            10.20.253.198   123/udp            Ready
nova-cloud-controller/0*  active    idle   2/lxd/2  10.20.253.218   8774/tcp,8778/tcp  Unit is ready
nova-compute/0            active    idle   1        10.20.253.197                      Unit is ready
  neutron-openvswitch/0*  active    idle            10.20.253.197                      Unit is ready
  ntp/0*                  active    idle            10.20.253.197   123/udp            Ready
nova-compute/1*           active    idle   0        10.20.253.200                      Unit is ready
  neutron-openvswitch/1   active    idle            10.20.253.200                      Unit is ready
  ntp/1                   active    idle            10.20.253.200   123/udp            Ready
nova-compute/2            active    idle   2        10.20.253.199                      Unit is ready
  neutron-openvswitch/2   active    idle            10.20.253.199                      Unit is ready
  ntp/2                   active    idle            10.20.253.199   123/udp            Ready
openstack-dashboard/0*    active    idle   1/lxd/2  10.20.253.13    80/tcp,443/tcp     Unit is ready
rabbitmq-server/0*        active    idle   3/lxd/2  10.20.253.86    5672/tcp           Unit is ready

Machine  State    DNS            Inst id              Series  AZ         Message
0        started  10.20.253.200  fxbapd               bionic  Openstack  Deployed
0/lxd/0  started  10.20.253.95   juju-53dcb3-0-lxd-0  bionic  Openstack  Container started
0/lxd/1  started  10.20.253.188  juju-53dcb3-0-lxd-1  bionic  Openstack  Container started
0/lxd/2  started  10.20.253.189  juju-53dcb3-0-lxd-2  bionic  Openstack  Container started
1        started  10.20.253.197  mqdnxt               bionic  Openstack  Deployed
1/lxd/0  started  10.20.253.83   juju-53dcb3-1-lxd-0  bionic  Openstack  Container started
1/lxd/1  started  10.20.253.134  juju-53dcb3-1-lxd-1  bionic  Openstack  Container started
1/lxd/2  started  10.20.253.13   juju-53dcb3-1-lxd-2  bionic  Openstack  Container started
2        started  10.20.253.199  ysg683               bionic  Openstack  Deployed
2/lxd/0  started  10.20.253.217  juju-53dcb3-2-lxd-0  bionic  Openstack  Container started
2/lxd/1  started  10.20.253.216  juju-53dcb3-2-lxd-1  bionic  Openstack  Container started
2/lxd/2  started  10.20.253.218  juju-53dcb3-2-lxd-2  bionic  Openstack  Container started
3        started  10.20.253.198  scycac               bionic  Openstack  Deployed
3/lxd/0  started  10.20.253.87   juju-53dcb3-3-lxd-0  bionic  Openstack  Container started
3/lxd/1  started  10.20.253.96   juju-53dcb3-3-lxd-1  bionic  Openstack  Container started
3/lxd/2  started  10.20.253.86   juju-53dcb3-3-lxd-2  bionic  Openstack  Container started

While if we have to run the deploy of Openstack, before to make that, we must change in Juju Ui the string osd-devices (string) from /dev/sdb to /dev/vdb in 3 ceph-osd. Then we can proceed with its commit.


Is there anyway to grant the mount command permission to a user?

I guess this first link is not strange for you :
http://www.cyberciti.biz/faq/ubuntu-add-user-to-group/
There is then this link for users added to groups with help of acl :
http://knackforge.com/blog/vannia/setup-default-group-permissions-new-files-created-under-specific-directory-debianubuntu
With acl you can adjust partitions too.
Install acl first - if not done already:

sudo apt-get install acl

Assumed your linux-partition for root(sudo) is at sda2 - so then you need to edit /etc/fstab for device resp. partition sda2 and this looks there like before editing :

/dev/sda2    /    auto    defaults,nobootwait    0    2

after editing :

/dev/sda2    /    auto    defaults,nobootwait,acl    0    2

Now re-mount this partition with :

sudo mount -o remount /

When you changed /etc/fstab - you normally need to reboot :

sudo reboot

Now you can add a group, and within this group you add some users - e.g. group for developers with :

sudo addgroup developer
sudo adduser lewinsky developer

(lewinsky as example for member of group for developers - you have to repeat latter command for each user of group for developers)
Now you need to set acl for the folder ( you as user resp. boss for the group and the developers ) :
Set ACL for the folder:

sudo setfacl -d -m "u:nobody:rwx,g:developer:rwx,o::r-x" -R /home/you/

(this means.. you don't have any preference for the "user" a new file will be owned by -- defaults to the actual user creating the file, but the user's permissions given - rwx will be applied; group will be forced to "developer" with all permissions for the group; other users will just have read & execute permissions).
In case you already have contents in the folder, you could use this to change existing file's permissions to make it sharable within the group:

sudo chgrp developer -R /home/you
sudo chmod g+rwsx -R /home/you

Now here comes this missing answer for a certain user allowed to use commands like mount:

sudo adduser lewinsky admin

This would mean too, that lewinsky is the boss within the group developer and may use
else commands except mount.
If you want lewinsky only to be allowed to use the single command mount - it would look like this :

sudo -u username command

also

sudo -u lewinsky mount


You can't delay this until after booting.

sda2 is your Root Partition ("/") so that means this device is the Root of your Entire OS.

The Task that takes so long is mounting this Partition so it can be used.

But it seems that this takes too long, it could be a Driver/Partition Failure (errors shown with fsck ( @N0rbert ) ), slow HDD, something else. We don't have enough information to help for that.


You seem to be asking how to install a more fully featured user interface on Lubuntu.

Lubuntu is Ubuntu with the LXDE desktop environment instead of GNOME/Unity. In some ways we talk about it as a separate, derivative distribution, but really, it's just Ubuntu with different packages installed.

You may want to try the Xfce desktop environment, which is lighter-weight than GNOME (whether GNOME with Unity or GNOME with GNOME Shell). Xfce uses more resources than LXDE, but you may find it runs well on your machine. I recommend trying it. Unless you're very low on disk space, installing it shouldn't cause any problems, and you can always decide not to use it if you don't like it.

The best way to install Xfce on Ubuntu (or Lubuntu, or any other derivative) is usually to install the xubuntu-desktop  package.

You can do that in the Lubuntu Software Center (which you may or may not have, depending on what version of Lubuntu you installed), or the Synaptic package manager (which you should have if you don't have a Software Center). Or run this command in an LXTerminal (Ctrl+Alt+T):

sudo apt-get update && sudo apt-get install xubuntu-desktop

Then log out, and on the login screen, you can select Xubuntu as your session type.

For information on using Xfce in Ubuntu, see the Xubuntu website.


Cannot connect to WiFi Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)

Please get a temporary wired ethernet connection, open a terminal and do:

sudo -i
apt-get remove --purge bcmwl-kernel-source
apt-get install linux-firmware-nonfree
echo brcmsmac >> /etc/modules
exit

Detach the ethernet, reboot and tell us if it is working.

If you suffer poor signal strength, a well documented bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/856314; I suggest you try the brcmsmac driver backported from kernel version 3.11. Obtain a temporary wired ethernet connection, open a terminal and do:

sudo apt-get install build-essential linux-headers-generic

Download this file to your desktop: https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.11-rc3/backports-3.11-rc3-1.tar.bz2  Right-click it and select 'Extract Here.' Now back to the terminal:

cd Desktop/backports-3.11-rc3-1
make defconfig-wifi
make
sudo make install

You may get a comment about a private key. Unless it is mentioned as an error, it may safely be ignored. Reboot and let us know the result.

If signal strength is still low, try an earlier bcmwl-kernel-source as mentioned here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1110139/comments/42

wget http://us.archive.ubuntu.com/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_5.100.82.112+bdcom-0ubuntu3_amd64.deb

Or if yours is a 32-bit system:

wget http://us.archive.ubuntu.com/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_5.100.82.112+bdcom-0ubuntu3_i386.deb

Confirm 32- or 64-bit:

arch

Then do:

sudo dpkg -i bcmwl*.deb

Reboot and give us your report.


how to delete files downloaded in command terminal?

I'm assuming you downloaded with your browser so Chrome and Firefox are set to download to Downloads/ by default f.e. /home/Downloads
If you downloaded with wget than either you specified location or downloaded to your current location (which you can check with pwd)

You can always use

locate <filename>

to find it's location, for example:

locate imeni
/home/<your username>/skripte/imenik
/home/<your username>/skripte/imenik/imenik

than just delete it with:

rm -f /home/<your username>/skripte/imenik/imenik


how to solve "No if updown configuration found" for CAN bus interface Linux 18.4.4LTS

I was originally trying to connect my CAN Transceiver to Linux and print CAN packets using candump.

I ran into this error message when after i did bind my CAN interface to slcan using sudo slcand -o -c -f -sX /dev/ttyUSBX slcan0

This error was in syslog file, use following command sudo tail -n 10 -f /var/log/syslog

As it turns out, when i set the SocketCAN interface to UP in the next step this issue is resolved sudo ip link set up slcan0

I thought No ifupdown config found error wasn't letting candump print CAN messages. I was wrong. The problem was CAN termination resistor. My CAN netowrk dint have termination resistors. As soon as I enable the Termination resisrot in my CAN device I was able to see data using candump

Documenting this here in case someone in future stumble upon this problem.


The best - and only - Java game engine I know would be LWJGL.

This stands for Lightweight Java Game Library. It is a implementation of OpenGL, OpenAL and OpenCL, which are themselfs written in C.

But Java itself is rather unusual and unrecommendated for creating 3D games. It brings a huge loss in performance due to the realtime  interpretation of the Java Byte Code.

You may have a look at C++ instead.


drivers for Dell Dimension 8200 Desktop?

According to a post on the Ubuntu Forums, you need to select nomodeset before booting. Insert the CD, press the up and down arrow keys, select language, press F6 and select nomodeset with the arrow keys. Then select Install Ubuntu with the arrow keys and press enter, and you should be good to go.


How to change date and time format from Arabic to English

You can Change the format from  KDE System Settings > Locale > Languages


Upgrading to 10.10 causes mountall error in Parallels

“>”..Select the 'Virtual machine' menu item in parallels when your VM is running, select
“>”'Reinstall Parallels Tools'....

Your solution only works if you can get the upgrade VM running in the first place.

If it can't mount /media/psf, then you're sunk. Your VM won't finish loading. And choosing "Reinstall Parallels Tools" will lead you to an empty pair of hands - i.e., it just won't work. You can't get to the actual VM because your Parallels tools are trying to load and crashing your loader's intentions. When Parallels drivers crash, your VM crashes.

Parallels forums advises that a "future update" will help 11.04 run. However, for many, the upgrade from 10.10 to 11.04 on the Mac is a disaster. So, your old info is likely lost - unless you had the forethought to backup your /home folder and other stuff, like FireFox bookmarks, et al.


Turned out to be an issue with the Port forwarding setting on the router. The Setting was lost after I configured it the first time!
Problem solved


How can I install Ubuntu Desktop on Ubuntu app on Windows 10?

If you still want to try it with WSL (which I still don't recommend) you can find the solution in this article Gnome Desktop on WSL which I still won't recommend, I personally have no experience installing it and do not know if installing X can break Windows Display Server. VM is still much more comfortable and safer way.
You also can try to use some graphical apps without having the whole DE installed. it will require installation of X server as well: Running linux apps in WSL

Yet again, all of that will not give you the same experience as a VM. My advice - go with VM, it's easy to install and configure. It's not so fast and smooth as a hardware installation (the same applies for any OS) but it's a good way to start.


Ubuntu 16.04 Huawei USB Modem not connecting

Open up the terminal type "lsusb" and check wheter your device is being detected as an network card or not.
 USB modem can be identified as an Network card,cd rom and an usb storage.So your system will pick one i.e cd rom as its mounted first.

This is actually done by usb mod switch so instead of switching to cd rom,your should be switched as an network card.

Now I suppose you dont have the required drivers so instead I will provide two of them.Try one of them and they verify wheter it worked or not.

This is a github link to Huwaei drivers link so you can use "git clone https://github.com/siddht4/Huwaei_linux_drivers" to clone/download to your system.

So now start installing the drivers.

Assuming you have chosen A.

Note : Make sure that you have make,build-essential,gcc,g++ already in your system.

Step 1:    Navigate to the sub folder i.e "Linux", can be done in terminal by "cd Linux"

Step 2:   Then you will find "install" file, which you have to run as root.This file will install Huwaei drivers for Linux.

Do do so,open up terminal in the current directory or continue in the terminal opened at step 1, in terminal type "sudo ./install", this will install the Huwaei drivers. This will also use NDIS module to support your modem.

Step 3:  Reboot so that the installed new modules are loaded in your system. Now connect your USB modem and verify wheter it works or not.


I can not boot Ubuntu unless I disconnect everything from USB 3.0 port

Is it possible that this is a BIOS issue?

I know my dell XPS laptop has several different USB settings in BIOS, but I don't currently have access to my laptop to see what they are (I'll post again later).

In the meantime, try resetting your BIOS to defaults, on Dells I think the option is F9 (from bios settings menu, labeled 'Setup Defaults').


Unable to access Docker NGINX on 18.04 LTS

The problem was the VPN client - it was re-routing requests even when they referred to the localhost. Stopping the VPN solves the problem.


Contrast blacks on Youtube Chrome 61, Ubuntu 17.04

I found my solution in an answer by user Piaskal:

      Setting this to Disabled solved this problem for me:

      chrome://flags/#enable-color-correct-rendering

From this question about a laggy YouTube after Chrome 61 update


You can boot from an Ubuntu LiveCD and access data on a Windows or Linux partitions on your hard disk - they should just appear in the left pane of the file manager.

This only won't work if a partition is encrypted or severely damaged.


How can I disable Super Key in ubuntu-mate 18.04?

On my clean installation of Ubuntu MATE 18.04 LTS the following commands
disabled left Super / Win key:

gsettings set org.mate.mate-menu hot-key ''
gsettings set com.solus-project.brisk-menu hot-key ''

If you want to get it back - the default value for both keys was 'Super_L'.


Changing input source from command line

To see if an input source is defined, and to manually set a source as default for pulseaudio we may issue the following commands from a terminal:

pacmd list-sources # gives a list of all available sources
pacmd set-default-source <index or name> # changes the input default source

The index or name of the source is given in the first command. For a Bluetooth device connected through Bluez the source name will be:

bluez_source.xx_xx_xx_xx_xx_xx

Where xx_xx_xx_xx_xx_xx is the MAC of your headset (replace : by _).

Changing output sink from command line

Changing the output sink from command line can be done likewise by using the follwing commands

pacmd list-sinks #shows all sinks available
pacmd set-default-sink <index or name> # sets the output default sink

Autoconnect Bluetooth headset with pulseaudio

By editing /etc/pulse/default.pa (as root) we can load the module-switch-on-connect that enables the sound server to automatically switch to the headset when it becomes available. After making a backup (to be able to revert changes in case something breaks) insert the following line to your default.pa

load-module module-switch-on-connect

To take effect we need to restart the pulseaudio server (run pulseaudio -k).


Samba Share user/password error after update

I had exactly the same problem.
Adding

client use spnego = no

to the [global] section of /etc/samba/smb.conf solved the problem in my case.
Apparently the default value changed to "yes" after the update to v.4.3.8, so I needed to explicitly set it.

See the online manpage for reference.


Error booting full Ubuntu from external USB hard drive on desktop preloaded with Windows 8

you need the version for your 64 bit processor wit Windows 8,  did you downloaded it?

http://www.ubuntu.com/download/desktop/thank-you?release=latest&bits=64&distro=desktop&status=zeroc    this is the version 13.04.

http://www.ubuntu.com/download/desktop/thank-you?release=lts&bits=64&distro=desktop&status=zeroc      this is the version 12.10.

I think thats the issue because you tested it in pc's with a 32 bits processors and not with a 64 processor and win 8 logo, good luck


How to remedy unmet dependencies error while downloading Steam?

You should not download Steam from Software Center. Go to

store.steamcommunity.com

and download the version from there. It's a .deb package, meaning it will open in Software Center and install there. It never worked for me to download Steam from Software Center :)


How does a graphical front-end control a daemon?

You can:

Communicate using D-Bus which is very popular this days.
Just change a configuration file and signal your daemon to reload it (SIGUSR1, SIGUSR2 and SIGHUP have exactly this purpose).
Write your own protocol with something like Thrift or Protocol Buffers.
Use a low level IPC mechanism.

In your place I would go with D-Bus


Configure rsnapshot to keep initial(first) backup forever?

There is a utility called rsnaptar which can be found in the utils folder located in /usr/share/doc/rsnapshot-*/ area depending on your rsnpashot installation. From the rsnaptar file itself is a brief description:

  A quick hack of a shell script to tar up backup points from the
  rsnapshot snapshot root. Sends an e-mail to an address specified on
  the command line when finished.

So you can use this script utility to tar up your initial backup and keep it handy.


Repair my partitions and reinstall Grub2

You want to avoid using apt purge or apt remove on packages involving GRUB since it can leave your system in an unbootable state. Instead, there are two commands that exist to resolve these kinds of problems:

sudo update-grub takes an already installed GRUB and updates it's configuration so that it can find bootable partitions and put them into menu, create separate menu entries for all the available kernels, etc.
grub-install some_disk will install GRUB into the provided disk and update the Master Boot Record (MBR) of the system.

To further complicate things Windows has a very nasty habit of not actually shutting down, but instead hibernating. This causes serious problems because you shut windows down, go into Ubuntu or some other operating system, make changes to the disk, then go back into Windows. However, since you never actually "shutdown" Windows it stayed in memory and when shutting down clobbered the disk overwriting the changes you've made to the partition layout.

I have also seen a bug with GParted where some changes made to the disk while the system was booted weren't reflected in GParted until after restarting.

My suggestion is use the System Rescue CD to resolve the problem. In specific it contains Test Disk which can help recover deleted partitions, which is effectively what has likely happened.


How do I remove the "did you mean..." feature in the shell?

sudo apt-get remove command-not-found
sudo mv /usr/share/command-not-found /usr/share/command-not-found.bak

You need to restart your shell for the change to take affect.


How to view results of last clamscan scan?

There is no log file by default - the output goes to stdout.

In order to have a log specify it with the -l option i.e. -l clamav.log


Wifi drivers won't work after I upgraded kernel to 3.4 for ubuntu 12.04

Please be certain that you have a working internet connection and then try:

sudo apt-get update
sudo apt-get install linux-firmware-nonfree
sudo apt-get purge bcmwl-kernel-source

If the latter package is not installed, that's fine. Reboot and let us have your report.

Do you have a wireless interface, ideally wlan0?

iwconfig

Are there any clues in the log?

dmesg | grep b43

Is the wireless switch on?

rfkill list all

Do you have a file blacklist-bcm43.conf?

ls /etc/modprobe.d

If so, remove it:

sudo rm /etc/modprobe.d/blacklist-bcm43.conf

Reboot and show us again:

dmesg | grep b43

The file /lib/firmware/b43/ucode29_mimo.fw is included in linux-firmware-nonfree according to: http://packages.ubuntu.com/precise/all/linux-firmware-nonfree/filelist Let's try to reinstall it and see if it helps:

sudo apt-get install --reinstall linux-firmware-nonfree

Reboot and check:

dmesg | grep b43

If not successful, try:

sudo apt-get purge linux-firmware-nonfree
wget http://mirrors.kernel.org/ubuntu/pool/multiverse/l/linux-firmware-nonfree/linux-firmware-nonfree_1.11_all.deb
sudo dpkg -i linux*.deb

Please tell me any errors or warnings.

To get the module to load automatically on boot:

gksudo gedit /etc/modprobe.d/blacklist.conf

If there is any reference to blacklisting b43 or ssb or bcma, remove them. Proofread, save and close. Next:

sudo -i
echo b43  >>  /etc/modules
exit

You should be all set.


NVidia not working after most recent update

Working solution:

The recent ubuntu xorg update wiped out the NVidia libglx with a default one that crashes.  It's likely only an issue with the NVidia vendor driver.  A quick and easy resolution (see assumptions after these commands!) is:

sudo mv /usr/lib/xorg/modules/extensions/libglx.so /usr/lib/xorg/modules/extensions/libglx.so.orig
sudo ln -s /usr/lib/xorg/modules/extensions/libglx.so.331.20 /usr/lib/xorg/modules/extensions/libglx.so

This assumes you were running driver version 331.20.  You can go to /usr/lib/xorg/modules/extensions/ and take a look to see what is there.  You are basically replacing the default (which should be small) with the one provided by NVidia (which should be substantially larger).

Disclaimer: I handtyped the above commands based upon my setup (Kubuntu Saucy), they may contain typos, enter at your own risk, I am not responsible for puppies spilling out of your CD drive or any other malfeasance wrought upon your system.

Original klunky work-around:

The same thing is occurring to me.  I managed to at least be able to log in by disabling all acceleration in KDE.  Chrome still kills the desktop (as it uses acceleration as well).  Something about this update killed the nvidia acceleration and anything that uses it instantly kills X.

Certainly not a complete answer, but possibly a useful and terrible work-around that may help you find a solution. (I'm using Opera right now, posting this as I seek a resolution myself).


Adobe flash player on 18.04 "the channel bionic partner is unknown"

Yesterday, I installed Flash Player on my PC and it works in latest Firefox.

I suggest you run this command in your terminal:

sudo apt install adobe-flashplugin


In short, yes, setting up Samba is really that easy. Samba is meant to be uncomplicated to setup, so there's not much you have to do.


Terminator with two or more open tabs leave the window with a white border on Lubuntu

This did the trick for me. Use the following in your ~/.config/gtk-3.0/gtk.css

.terminator-terminal-window notebook {
    border: none;
}


Ubuntu Router with different LAN subnets

After much toil trouble and a six pack I have figured out the answer to my query.

First to re-iterate:
I have a home built 18.04 UBUNTU router with 3 NICS - I am posting this because 18.04 uses netplan and I did not find a suitable answer on the message boards for netplan.

NIC 1: built in gigagbit ethernet - WAN

NIC 2: 2 port 10G NIC - Bonded and connected to a layer 3 switch (located at 192.168.0.254) - subnet 192.168.0.x

NIC 3: 4 port gigabit NIC used for local internet access (separate from the switch) - subnet 192.168.1.x

As you can see, I wished to create 2 subnets - 192.168.0.x for the switch and 192.168.1.x for the 4 port NIC (to use even when the switch was disconnected).

As this machine is a router, it needs to both route, assign IP addresses (DHCP), and provide DNS.  Below, you will find my configuration for netplan and DHCP.  DHCP occurs on both subnets, and NIC 3 has internet access even if the switch is disconnected from NIC 2 (ie it bypasses the switch and uses the router as a gateway)

As you look at the configuration, you will notice 2 bridges:

br0 is the 2 port 10G NIC connected to the switch
br1 is the 4 port gigabit NIC used for internet access even without the switch essentially functioning like a home router with 4 ports)

This is the /etc/netplan/01-netcfg.yaml file:

 # This file describes the network interfaces available on your system
 # For more information, see netplan(5).
 network:
   version: 2
   renderer: networkd
   ethernets:
     enp0s8:  #WAN interface
       dhcp4: no
       dhcp6: no
        addresses: [xxx.xxx.xxx.xxx/24] #Static IP assigned by ISP
        gateway4: xxx.xxx.xxx.xxx       #Gateway Assigned by ISP
       nameservers:
        addresses: [xxx.xxx.xxx.xxx, 8.8.8.8] #DNS assigned by ISP
  optional: true
enp0s9:  #Internal gigabit NIC Interface not used
  dhcp4: no
  dhcp6: no
enp2s0f0:  #10G NIC Not used
  dhcp4: no
  dhcp6: no
enp2s0f1:  #10G NIC not used
  dhcp4: no
  dhcp6: no
enp5s0f0:  #port 1 NIC2 (10G NIC Bonded connected to switch)
  dhcp4: no
  dhcp6: no
enp5s0f1:  #port 2 NIC2 (10G NIC Bonded connected to switch)
  dhcp4: no
  dhcp6: no
enp8s0f0:  #port1 NIC3 (gigabit NIC acting as home router)
  dhcp4: no
  dhcp6: no
enp8s0f1:  #port2 NIC3 (gigabit NIC acting as home router)
  dhcp4: no
  dhcp6: no
enp9s0f0:  #port3 NIC3 (gigabit NIC acting as home router)
  dhcp4: no
  dhcp6: no
enp9s0f1:  #port3 NIC3 (gigabit NIC acting as home router)
  dhcp4: no
  dhcp6: no
bonds:
  bond0: #first 10G NIC, not used
   interfaces: [enp2s0f0, enp2s0f1]
   parameters:
     mode: 802.3ad
     lacp-rate: fast
     mii-monitor-interval: 100
  bond1: #second 10G NIC, bonded and connected to switch
   interfaces: [enp5s0f0, enp5s0f1]
   parameters:
     mode: 802.3ad
     lacp-rate: fast
     mii-monitor-interval: 100
bridges:
  br0: #this is the 10G nic connected to switch on 192.168.0.x subnet
   dhcp4: no
   dhcp6: no
   addresses: [192.168.0.1/24] #router IP address
   interfaces: [bond1]
   gateway4: 192.168.0.254
   routes:
   - to: 192.168.1.1 #router IP address (gateway/DNS) for the 4 port NIC subnet
   via: 192.168.0.1 #This allows the br1 to access the internet via the main router IP (located at 192.168.0.1), bypassing the switch
   parameters:
     stp: false
     forward-delay: 0
  br1: #home router 4 port gigabit bridge
   dhcp4: no
   dhcp6: no
   addresses: [192.168.1.1/24]
   gateway: 192.168.1.1
   interfaces: [enp8s0f0, enp8s0f1, enp9s0f0, enp9s0f1]
   parameters:
     stp: false
     forward-delay: 0

Note: a bridge was formed for bond 0 because I needed subnet 192.168.0.x on this NIC.

The br0 bridge allows the br1 bridge which is on subnet 192.168.1.x to connect to the internet via the router (192.168.0.1)

Next we need to configure DHCP on BOTH subnets. Here is are the iptables:

 # Allow LAN to access internet enp0s8 is WAN interface - mask the LAN IP with that of the WAN interface
 iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE

 #Allow all subnet access to the internet, The IP address is the WAN IP Address
 iptables -t nat -A POSTROUTING -o enp0s8 -j SNAT --to-source 69.59.44.75
 # Service rules

 # basic global accept rules - ICMP, loopback, traceroute, established all accepted
 iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
 iptables -A INPUT -p icmp -j ACCEPT
 iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

 # enable traceroute rejections to get sent out
 iptables -A INPUT -p udp -m udp --dport 33434:33523 -j REJECT --reject-with icmp-port-unreachable

 # DNS - accept from LAN
 iptables -A INPUT -i br0 -p tcp --dport 53 -j ACCEPT
 iptables -A INPUT -i br0 -p udp --dport 53 -j ACCEPT
 iptables -A INPUT -i br1 -p tcp --dport 53 -j ACCEPT
 iptables -A INPUT -i br1 -p udp --dport 53 -j ACCEPT

 # SSH - accept from LAN
 iptables -A INPUT -i br0 -p tcp --dport 8880 -j ACCEPT
 iptables -A INPUT -i br1 -p tcp --dport 8880 -j ACCEPT

 # DHCP client requests - accept from LAN
 iptables -A INPUT -i br0 -p udp --dport 67:68 -j ACCEPT
 iptables -A INPUT -i br1 -p udp --dport 67:68 -j ACCEPT

 # drop all other inbound traffic
 iptables -A INPUT -j DROP

 # Forwarding rules
 # forward packets along established/related connections
 iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

 # forward from LAN (br0, br1) to WAN (enp0s8)
 iptables -A FORWARD -i br0 -o enp0s8 -j ACCEPT
 iptables -A FORWARD -i br1 -o enp0s8 -j ACCEPT

 # allow traffic from our NAT pinhole (PORT FORWARDING)
 iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 8888 -j ACCEPT
 iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 8888 -j ACCEPT

 # drop all other forwarded traffic
 iptables -A FORWARD -j DROP

The most important thing to note here is that whatever I have listed for br0, I have duplicated for br1

Lastly we need to setup the DHCP and ensure it works on both subnets. This is the /etc/default/isc-dhcp-server file:

 # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
 # Separate multiple interfaces with spaces, e.g. "eth0 eth1".
 INTERFACESv4="br0 br1"
 INTERFACESv6="br0 br1"

Lastly we need to modify the /etc/dhcp/dhcpd.conf file:

 .......
 subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.10 192.168.0.240;
    option routers 192.168.0.1;
    option domain-name "yourdomain.com";
    option domain-name-servers 192.168.0.1;
    option broadcast-address 192.168.0.255;
 }

 subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.240;
    option routers 192.168.1.1;
    option domain-name "yourdomain2.org";
    option domain-name-servers 192.168.1.1;
    option broadcast-address 192.168.1.255;
 }
 # Add a section to reserve static IPs --------  This must be done for the network switch to enable static routing if needed

 host DELL_PowerConnect_6248P {
         hardware ethernet XX:XX:XX:XX:XX:XX;
         fixed-address 192.168.0.254; #this is the layer 3 switch connected to NIC2 which serves as the gateway for the 192.168.0.x subnet
         option host-name "DELL_Powerconnect_6248P";
 }

This worked for me. Now I can use the router like a home router even with the switch disconnected. PLEASE NOTE: This is by no means a list of what needs to be done to create your own ubuntu router. There are many other steps involved. This can easily be googled on the internet. Hopefully, this small tutorial helps someone in the future. Netplan is a pain, but rather straightforward. If an idiot like me can do it, anyone can.  Happy Ubuntu-ing.

Status update.  After about one hour, the WAN interface went down on the router.  After some reading, it seems my above configuration was not quite correct. See the correction below. I have included comments (both for myself and others) in the code.

 ................
   bridges:
    br0:
     dhcp4: no
     dhcp6: no
     addresses: [192.168.0.1/24]
 #   gateway4: 192.168.0.254 # because we are using static routes, this option is not needed
     interfaces: [bond1]
     routes:
     - to: 0.0.0.0/0
     via: 192.168.0.254
     metric: 100
 #   Here, we have routed ALL subnets and all netmasks. Metric must be supplied if the gateway is not specified.
     - to: 192.168.1.1/24
     via: 192.168.0.1
     metric: 100
 #   Note: Even though we are specifying ALL subnets above, we can still have routing for a particular subnet so that all routes go to 192.168.0.254, but only 192.168.1.x subnet routes through 192.168.0.1
     parameters:
       stp: false
       forward-delay: 0
    br1:
     dhcp4: no
     dhcp6: no
     addresses: [192.168.1.1/24]
     gateway: 192.168.1.1
 #   Here a gateway is specified, because there are no static routes
     interfaces: [enp8s0f0, enp8s0f1, enp9s0f0, enp9s0f1]
     parameters:
       stp: false
       forward-delay: 0

As you can see, I tweaked the config to prove a point. Even with ALL subnets being routed to 192.168.0.254 by default, the 192.168.1.x is an exception and is specifically routed to 192.168.0.1. This way I can still access the internet on the 4 port nic even if the switch is disconnected.

Now the router works and has not gone down for several hours.  On to configuring bind, OpenVPN, and all the other good stuff.

I was able to learn all of this by looking at netplan examples specified at https://netplan.io/examples

Hopefully, this will prove of use with configuring netplan.


Try the following:

sudo apt update
sudo apt install nano


Only Windows runs after new video card installation

When you get to the grub menu you can add the nomodeset boot option. nomodeset tells the kernal to not load the video drivers until the X window server is started. To add this option do the following:

Get to the GRUB boot menu
Highlight the Ubuntu option
Press e
Find the line that has linux at the start
Add nomodeset to the end of that line
Press Ctrl-x or F10 to boot.


Check if all packages of a long list are available

See man apt-get:

-s, --simulate, --just-print, --dry-run, --recon, --no-act
No action. Perform a simulation of events that would occur but do not actually change the system.

For example:
apt-get install -s package1 package2


Unable to access USB flashdrive; not authorized to perform operation

Step 1: List mount-able devices

sudo fdisk -l

In my case I get:

Step 2: Create a directory to mount to

sudo mkdir /media/external

Step 3: Mount the drive now

sudo mount -t ntfs /dev/sdc1 /media/external -o  uid=1000,gid=100,utf8,dmask=027,fmask=137

Replace ntfs with the type,  /dev/sdc1 with the device

If that does not work , go to /etc/inittab and change default runlevel from 3 to 4. With the next boot, your system will start GUI automatically, and those remaining options should be active.


apt upgrade fails with libglib/libgdk error

Try to download both problematic packages and then force their installation with:

apt-get download libgdk-pixbuf2.0-0=2.36.11-2 libglib2.0-0=2.56.3-0ubuntu0.18.04.1
sudo dpkg -i --force-all lib*.deb


permanently configuring windows to ignore ALT

Add the following line to /etc/rc.local to be executed at startup:

dconf write /org/gnome/desktop/wm/preferences/mouse-button-modifier '"<Super>"'

This should change the modifier key to not interfere with Blender's emulate three button mouse (alt key) option.

To remove the modification, delete the line in rc.local and run the command again with <Alt> instead of <Super>.


How to add android x86 item to GRUB list?

In /etc/grub.d/40_custom
add:

menuentry "Android" {
insmod ext2
set root='(hd0,HERE NUMBER OF PARTITION WITH YOUR ANDROID)'
linux /android-4.0-RC1/kernel quiet root=/dev/ram0 androidboot.hardware=asus_laptop acpi_sleep=s3_bios,s3_mode SRC=/android-4.0-RC1
initrd /android-4.0-RC1/initrd.img}


unable to access hard drive with Ubuntu as my only operating system

I hope that's work for you:

sudo ntfsfix /dev/sdb1

Then restart ubuntu.


USB wifi Card AWUS036NHR-RTL8192cu : Card not blinks like normal

First of all, ensure you have the necessary prerequisites:

sudo apt-get install linux-headers-generic build-essential dkms git

Clone the updated driver with git:

git clone https://github.com/pvaret/rtl8192cu-fixes.git

Set it up as a DKMS module:

sudo dkms add ./rtl8192cu-fixes

Build and install the driver:

sudo dkms install 8192cu/1.8

Refresh the module list:

sudo depmod -a

Ensure the native (and broken) kernel driver is blacklisted:

sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

Let's not take any chances. Instruct Ubuntu to load the new driver when it starts up.

echo 8192cu | sudo tee -a /etc/modules

Reboot.

You're done.

Thanks to P. Varet for this awesome fix.


I run Kubuntu 14.04 and the package gkrellm-leds (available directly in Synaptic) works fine for me. You can set a bunch of system monitors, but if you just want numlock/capslock, you'll have a little three-Led monitor in your screen.

Hope it helps!


Lubuntu 18.04 displays wrong lock screen after waking from sleep

It seems that you have installed GNOME ScreenSaver. Remove it with:

sudo apt purge gnome-screensaver

The default Lubuntu 18.04 LTS installation uses light-locker ("simple screen locker for lightDM display manager").
You can install it with

sudo apt install light-locker


How to force font change on Chrome (Chromium) on certain websites (viz. Facebook)

Install Stylish from Chrome's Web Store. It works for both Chrome and Chromium.

Then, make a "style" for urls on the domain "facebook.com". Just this code gives the image shown below:

*  { font-family: "Comic Sans MS" !important; color: red !important; }

Users of Stylish can visit userstyles.org for skins and themes or forum.userstyles.org for advice.


Broken UEFI Boot , How to securely proceed?

I want to address some misconceptions in your question before proceeding to a more direct answer to your main point. Please bear with me....

  The default grub/boot partition that the computer checks first at start up points directly at booting Windows now

On an EFI-based computer, boot loaders are stored as ordinary files on the EFI System Partition (ESP). The computer knows which file(s) to launch when it starts because of entries stored in NVRAM, which identify the partition(s) and file(s) to run. There is no such thing as a "default... boot partition" under EFI; that's the way BIOS boots, not EFI.

  I used boot repair during initial installation and selected the option to have the other partitions 1st sector point to the grub/boot partition.

Under EFI, "boot sectors" don't exist -- or to be more precise, boot code is not stored in the first sectors of disks or partitions. It's all handled through files and referenced by entries in NVRAM.

  When I selected the root partition, I got a notification from the BIOS that it was not secure.

You didn't select a partition; you selected a boot loader file. From your description, my guess is that you selected EFI/ubuntu/grubx64.efi on your ESP. This begins to get to the problem, but I'll get back to that point....

  I went into the BIOS

You don't have a BIOS; you have an EFI. I know that many people, and even manufacturers, refer to EFIs as BIOSes, but this just leads to confusion because it encourages people to drag in BIOS assumptions about the boot process, as you've done.

  I thought that disabling secure boot and trying to load Ubuntu may be a mistake. Afterall, whats the point of UEFI if its disabled the second something messes with a perfectly fine and functioning signed boot loader?

Don't confuse EFI (or UEFI, which is just EFI 2.x) and Secure Boot. Secure Boot is just one optional feature of UEFI. EFI, in turn is a replacement for BIOS. Many EFIs (and even UEFIs) lack Secure Boot support -- but Secure Boot requires UEFI.

  I'm sort of at a loss as to what the correct way to securely proceed is. Is there a way to restore Ubuntu without booting insecurely? Suggestions?

To support Secure Boot, Ubuntu uses a program called Shim. In Ubuntu, it has a filename of shimx64.efi. Shim is hard-coded to launch GRUB (grubx64.efi), which can then call on Shim to authenticate Linux kernels.

Note that earlier I wrote that you probably launched grubx64.efi. This will work fine with Secure Boot disabled; but if you enable Secure Boot, chances are grubx64.efi won't match the default Secure Boot requirements, so it will fail. shimx64.efi, OTOH, is signed by Microsoft (whose keys are present in just about all computers) and so will work. This is the key (pun not desired, but it's best word) to the solution: Reconfigure your system to boot via Shim. You can do this in Ubuntu using the efibootmgr utility. First, view your available options by using sudo efibootmgr -v:

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0007,0003,2003,0001,2001,2002
Boot0000* ubuntu    HD(2,1f4800,82000,5f6b4992-fcfe-4a2c-9e67-98b0a30dfe7d)File(\EFI\ubuntu\shimx64.efi)
Boot0001* Lenovo Recovery System    HD(3,276800,1f4000,de3b7563-97f5-48c6-ab7f-2f5d6d57c644)File(\EFI\Microsoft\Boot\LrsBootMgr.efi)RC
Boot0002* EFI Network 0 for IPv4 (08-9E-01-FF-CA-4D)    ACPI(a0341d0,0)PCI(1c,0)PCI(0,0)MAC(089e01ffca4d,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0RC
Boot0003* ubuntu    HD(2,1f4800,82000,5f6b4992-fcfe-4a2c-9e67-98b0a30dfe7d)File(\EFI\ubuntu\grubx64.efi)RC
Boot0004* EFI Network 0 for IPv6 (08-9E-01-FF-CA-4D)    ACPI(a0341d0,0)PCI(1c,0)PCI(0,0)MAC(089e01ffca4d,0)030d3c000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000RC
Boot0007* Windows Boot Manager  HD(2,1f4800,82000,5f6b4992-fcfe-4a2c-9e67-98b0a30dfe7d)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................

This is just an example, and yours is likely to be different in significant ways. Note, however, that there are two ubuntu entries, one of which refers to shimx64.efi and the other of which refers to grubx64.efi. Chances are you're booting via the grubx64.efi entry, as shown on the BootCurrent line. The grubx64.efi entry is probably first on the BootOrder line, too. To change this, you must create a new BootOrder by using the -o option to efibootmgr, as in:

sudo efibootmgr -o 0000,0007

You can add other options, too, which the computer will use should the first two fail. Of course, you should specify the numbers associated with your Shim and GRUB entries, not 0000,0007 (unless those happen to be the numbers). Note also that I've specified the Shim entry first with the GRUB entry as a fallback in case that one fails; in theory, specifying only the Shim entry should work fine. It's best to include your current BootCurrent value as a second (or later) option, since you know it works with Secure Boot disabled. That way, if you make a mistake or if your Shim binary is broken, you should still be able to disable Secure Boot and get back to your working system by using the computer's built-in boot manager or by adjusting the boot order in some other way.

Once you've done this, reboot into your firmware and re-enable Secure Boot. It should work fine from that point on.


Ubuntu 19.04 quite hot temperature with low usage

Your computer is hot, because it is always using Nvidia GPU, while Windows uses it in case it is needed for heavy GPU tasks like games.

Ubuntu doesn't switch graphics automatically. You can use nvidia-prime or bumblebee to switch Nvidia graphics.

See THIS ANSWER for more details.

You can also use CLI commands:

sudo prime-select intel
sudo prime-select nvidia

You can also install laptop-mode-tools to economy power.


How to partition Ubuntu 13.10 in order to install windows 7? NO DUAL BOOT

The Windows disks should be able to do it, just do a custom install and select to wipe the disk, a partitioner should be included.


Lower resolutions appear abnormally blurry on laptop

Only 960x600 will look decent; the rest will look awful, since 960x600 is 1/4 of your design resolution. LXDE does not have the ability to make an LCD look decent unless you use the design resolution or an integer fraction (e.g., 960x600) of the design resolution.


One thing you can do is change the permissions in some sort of startup script, such as /etc/rc.local.


I recently tried to open Sweethome3d and it locked up partway open. I install sun version of java per some other suggestions but that did not work. I then opened as sweethome3d as root and it started up correctly. I have not figured out what files are keeping from opening as a regular user but at least I can get it to run.


To simply close the port 38598 you can use UFW (Uncomplicated Firewall)

UFW is used by default by Ubuntu as it's firewall and is easy to customize and has a easy to use syntax.

Just type the following in the terminal.

Check the status of UFW.

sudo ufw status

If it's inactive then enable it using the command

sudo ufw enable

2.Close the port

to close a particular port number use

sudo ufw deny port-number

where port-number is the port number you want to disable access to.

To re enable closed port use:

sudo ufw allow port-number

for more info see here.


In the linked AskUbuntu question, the author knew which dependency was missing because he was trying to install a 32-bit application on a 64-bit Ubuntu installation, and, to quote him:

  some 32 bit libraries are absent in Ubuntu 64 bit.

So he needed to install them.

However, to answer your questions:

How to detect missing dependencies for an executable?
Is there a generic way to look up the list of dependencies of an executables and which ones are missing?

Yes, there is a way to detect missing dependencies or to get a list of them.

Detect missing dependencies:

The package management system apt, used in Debian-based Linux distributions, is a clever system, where it will automatically detect if currently installed packages have missing dependencies (even if you have installed them using dpkg, and not apt-get). Let's say that you've installed a package, without its dependencies, then the next time you execute apt-get upgrade, you'll get an error similar to this:

The following packages have unmet dependencies:
 package1 : Depends: package2 (>= 1.8) but 1.7.5-1ubuntu1 is to be installed

Indicating that package1 depends on package2, and package2 (namely, the newer version in this example) is not installed. Usually, to fix this, you execute the command sudo apt-get install -f, which instructs apt-get to attempt to retrieve and install the missing packages.

Look up the list of dependencies of an executable:

The apt suite, as well as dpkg, provides a neat way to list the dependencies of a package.

For apt, the command is:

apt-cache depends <packagename>

This will check the package in the repositories and list the dependencies, as well as "suggested" packages. If you really want to filter out the dependencies alone, you could filter the output by doing this: apt-cache depends <packagename> | grep Depends. Here's an example output:

alaa@aa-lu:~$ apt-cache depends vlc
vlc
  Depends: fonts-freefont-ttf
  Depends: vlc-nox
 |Depends: libavutil51
  Depends: libxpm4
  Depends: zlib1g
  PreDepends: dpkg
  Suggests: videolan-doc
  Recommends: vlc-plugin-notify
  Recommends: xdg-utils
  Breaks: vlc-data
  Breaks: vlc-nox
  Replaces: vlc-data
  Replaces: vlc-nox

Output is cut down for brevity.
For dpkg, the command to run it on a local file is:

dpkg -I file.deb | grep Depends

dpkg -I file.deb returns a lot of information about this .deb file, so we filter it to only look at the dependencies.

Since apt is actually just a front-end for dpkg, both these commands essentially do the same exact thing, they go look at the .deb file of the application to find out what dependencies it needs, except apt-cache will look in the repositories. These "dependencies" are listed inside the .deb file as metadata, that is why even if you have manually downloaded and installed an application (which is usually a .deb file, so you'll be installing it using dpkg and not apt) from a website (for example, Google's Chrome browser from Google's website), apt will still find out that there are missing dependencies, by analyzing the installed packages.

I'm not well versed with all this computer architecture stuff, but in the case of Java in that question, it's really about the 32- and 64-bit architecture. To quote the answer from stackoverflow:

You're running on a 64bit system without a 32bit runtime environment.

That specific library, that needed to be installed, was not included in the "Depends" part of the installation package, because he was installing a 32-bit application on a 64-bit system. So, extra troubleshooting was needed to find the culprit, hence the use of readelf and ldd. However, these are probably more specific to libraries, and remember that "dependencies" are not always "libraries", but could be other applications. So "Is this the best approach?", I doubt it; I think it's only best when extra troubleshooting is needed.


How to get back the application menu for LibreOffice after an update?

It works now simply by removing the lo-menubar package and installing it again :

sudo apt-get remove lo-menubar

Then

sudo apt-get install lo-menubar

Why this happend?

As I suppose the lo-menubar is like a plugin for libreOffice. When you updated the program, the plugin needs to be re-installed, this solution worked for me after trying it.

And this must be done when you install this package by the above command :

 Synchronizing repository for bundled extensions

  Enabling: menubar
   Enabling: Jobs.xcu
   Enabling: menubar.uno.so

unopkg done.

This what I can explain for now.


libtool does not handle directory names with spaces very well. Even BIND10 came across it a little while ago.

Rename /C Dependencies/ to remove the whitespace.


Start gnome-terminal with predefined history

The history file is set using the HISTFILE variable. From man bash:

HISTFILE
      The name of the file in which  command  history  is  saved  (see
      HISTORY  below).   The  default  value  is  ~/.bash_history.  If
      unset, the command history is not saved when a shell exits.

You can try:

gnome-terminal -e 'bash -c "export HISTFILE=~/test.hist; exec bash"'


How to change IP when /etc/network/interface file is missing?

You typed:

sudo vi /etc/network/interface

You should have typed this:

sudo vi /etc/network/interfaces

You forgot the s.


How to show (raise) all windows of an application?

EDIT -new answer-

The answer(s) below is/are still totally valid, and so the suggested options. Ongoing insight however made me add this option to use the indicator below, which is probably the most elegant solution.

As such, it should probably replace option 5 (using a .desktop file).

Simply choose the application from the list, and all windows of the corresponding application (present on the current viewport) will raise:

How to use

from ppa:

sudo add-apt-repository ppa:vlijm/upfront
sudo apt-get update
sudo apt-get install upfront

...or manually:

#!/usr/bin/env python3
import signal
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AppIndicator3', '0.1')
from gi.repository import Gtk, AppIndicator3, GObject
import time
from threading import Thread
import os
import subprocess
import getpass

currpath = os.path.dirname(os.path.realpath(__file__))

class Indicator():
    def __init__(self):
        self.app = 'raise_apps'
        iconpath = os.path.join(currpath, "raise.png")
        self.indicator = AppIndicator3.Indicator.new(
            self.app, iconpath,
            AppIndicator3.IndicatorCategory.OTHER)
        self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
        self.indicator.set_menu(self.create_menu())
        # the thread:
        self.update = Thread(target=self.check_recent)
        # daemonize the thread to make the indicator stopable
        self.update.setDaemon(True)
        self.update.start()

    def create_menu(self):
        # creates the (initial) menu
        self.menu = Gtk.Menu()
        # separator
        initial = Gtk.MenuItem("Fetching list...")
        menu_sep = Gtk.SeparatorMenuItem()
        self.menu.append(initial)
        self.menu.append(menu_sep)
        # item_quit.show()
        self.menu.show_all()
        return self.menu

    def raise_wins(self, *args):
        index = self.menu.get_children().index(self.menu.get_active())
        selection = self.menu_items2[index][1]
        for w in selection:
            execute(["wmctrl", "-ia", w])

    def set_new(self):
        # update the list, appearing in the menu
        for i in self.menu.get_children():
            self.menu.remove(i)
        for app in self.menu_items2:

            sub = Gtk.MenuItem(app[0])
            self.menu.append(sub)
            sub.connect('activate', self.raise_wins)
        # separator
        menu_sep = Gtk.SeparatorMenuItem()
        self.menu.append(menu_sep)
        # quit
        item_quit = Gtk.MenuItem('Quit')
        item_quit.connect('activate', self.stop)
        self.menu.append(item_quit)
        self.menu.show_all()

    def get_apps(self):
        # calculate screen resolution
        res_output = get("xrandr").split(); idf = res_output.index("current")
        res = (int(res_output[idf+1]), int(res_output[idf+3].replace(",", "")))
        # creating window list on current viewport / id's / application names
        w_data = [l.split() for l in get(["wmctrl", "-lpG"]).splitlines()]
        # windows on current viewport
        relevant = [w for w in w_data if 0 < int(w[3]) < res[0] and 0 < int(w[4]) < res[1]]
        # pids
        pids = [l.split() for l in get(["ps", "-u", getpass.getuser()]).splitlines()]
        matches = [[p[-1], [w[0] for w in relevant if w[2] == p[0]]] for p in pids]
        return [m for m in matches if m[1]]

    def check_recent(self):
        self.menu_items1 = []
        while True:
            time.sleep(4)
            self.menu_items2 = self.get_apps()
            for app in self.menu_items2:
                app[0] = "gnome-terminal" if "gnome-terminal" in app[0] else app[0]
            if self.menu_items2 != self.menu_items1:
                GObject.idle_add(
                    self.set_new,
                    priority=GObject.PRIORITY_DEFAULT
                    )
            self.menu_items1 = self.menu_items2

    def stop(self, source):
        Gtk.main_quit()

def get(command):
    return subprocess.check_output(command).decode("utf-8")

def execute(command):
    subprocess.Popen(command)

Indicator()
GObject.threads_init()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()

The indicator needs wmctrl

sudo apt-get wmctrl

Copy the indicator into an empty file, save it as raise_apps.py
Copy the image below, save it exactly named raise.png in one and the same directory as the indicator.

Then simply run it by the command:

python3 /path/to/raise_apps.py
Add if you want to Startup Applications:

/bin/bash -c "sleep 10 && python3 /path/to/raise_apps.py"

OLD ANSWER:

About the question

With the right tools, it is not very complicated to "just" raise all windows of an application. It is a bit more complicated to make sure only the windows of the current viewport are raised. The real challenge however is to find a convenient way to make the action available to the user.

Below five options to take care of that, to show how it can be done. All options are ready to be used. The last option however is kind of experimental; it works fine but has a few minor cosmetic downsides, as explained in the description of the option. I added it nevertheless as a concept.

Spreading the windows automatically in a non- overlapping way, as suggested in a comment, seems not a practical idea to me; if you work in an (application-wise) grouped window setup, the script would possibly unwantedly rearrange windows.

How to use

For all options you need to:

install wmctrl if it is not yet on your system:

sudo apt-get install wmctrl

create, if it does not exist yet, the directory:

~/bin

(explanation: the directory ~/bin is in $PATH, so you can run executables by their name)
Copy the script, corresponding to the option, paste it into an empty file, save it as raise_app (no extension) in ~/bin and make it executable

In the separate options, possible additional steps will be explained.

Option 1: choose the application by entering one or more characters

Press a key combination, a zenity window will appear
Enter one or more characters of the application's name in the entry box
Press enter

This will make all windows of the matching application (on the current viewport) come to front.

raise all gnome-terminal windows on the current viewport:

How to use:

Do the set up as described in "How to use"
Test-run it by the command:

raise_app

If all works fine, add it to a shortcut key combination of your choice: Choose: System Settings > "Keyboard" > "Shortcuts" > "Custom Shortcuts".  Click the "+" and add the command

The script:

#!/usr/bin/env python3
import subprocess
import getpass

def get(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")

def execute(command):
    subprocess.Popen(["/bin/bash", "-c", command])
# calculate screen resolution
res_output = get("xrandr").split(); idf = res_output.index("current")
res = (int(res_output[idf+1]), int(res_output[idf+3].replace(",", "")))
# creating window list on current viewport / id's / application names
w_data = [l.split()[0:7] for l in get("wmctrl -lpG").splitlines()]
windows = [[get("ps -u "+getpass.getuser()+" | grep "+w[2]).split()[-1], w[0]]
           for w in w_data if 0 < int(w[3]) < res[0] and 0 < int(w[4]) < res[1]]
# ask user for first characters
try:
    arg = get('zenity --entry --text "first characters" --title "application"').strip()
except subprocess.CalledProcessError:
    pass
# raise matching windows
try:
    [execute("wmctrl -ia "+item[1]) for item in windows if item[0].startswith(arg)]
except (subprocess.CalledProcessError, NameError):
    pass

Option 2: cycle through applications and raise their windows with a key combination:

Let's say I have the script below under a key combination Alt+1. I have several windows open of:

firefox
gnome-terminal
nautilus

The current state:

I press once Alt+1, all nautilus windows are raised:

I press again Alt+1, all firefox windows are raised:

I press again Alt+1, all gnome-terminal windows are raised again, the cycle starts over:

How to use

Do the set up as described in "How to use"
Add it to a shortcut key combination of your choice: Choose: System Settings > "Keyboard" > "Shortcuts" > "Custom Shortcuts".  Click the "+" and add the command

raise_app

Then cycle through your applications with grouped application windows with your key combination.

The script:

#!/usr/bin/env python3
import subprocess
import getpass

include_single = True # set to False if you only want to cycle through apps with multiple windows

def get(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")

def execute(command):
    subprocess.Popen(["/bin/bash", "-c", command])

def get_frontmost():
    cmd = "xprop -root"
    frontmost = [l for l in get(cmd).splitlines() if\
                 "ACTIVE_WINDOW(WINDOW)" in l][0].split()[-1]
    return frontmost[:2]+"0"+frontmost[2:]
# calculate screen resolution
res_output = get("xrandr").split(); idf = res_output.index("current")
res = (int(res_output[idf+1]), int(res_output[idf+3].replace(",", "")))
# creating window list on current viewport / id's / application names
w_data = [l.split()[0:7] for l in get("wmctrl -lpG").splitlines()]
windows = [[get("ps -u "+getpass.getuser()+" | grep "+w[2]).split()[-1], w[0]]
           for w in w_data if 0 < int(w[3]) < res[0] and 0 < int(w[4]) < res[1]]
# create application list to cycle through
if include_single == False:
    pre = [it[0] for it in windows]
    apps = sorted(list(set([it for it in pre if pre.count(it) > 1])))
else:
    apps = sorted(list(set([it[0] for it in windows])))
if len(apps) == 0:
    pass
else:
    # get the frontmost window as a last itm in the cycle
    front = get_frontmost()
    front_pid = [l.split()[2] for l in get("wmctrl -lp").splitlines() if front in l][0]
    last_infront = get("ps -u "+getpass.getuser()+" | grep "+front_pid).split()[-1]
    # determine next apllication to raise
    if not last_infront in apps or last_infront == apps[-1]:
        arg = apps[0]
        print(arg)
    else:
        arg = apps[apps.index(last_infront)+1]
    # raise matching windows
    try:
        [execute("wmctrl -ia "+item[1]) for item in windows if item[0] == arg]
    except (subprocess.CalledProcessError, NameError):
        pass

Option 3: press key combination + click on launcher icon -or- application window to raise all windows on the current viewport

This is probably the option that is closest to what is described in the question / comment.

Let's say I have a messy desktop with three nautilus windows buried under other windows.

To raise all nautilus windows (example shortcut: Alt+1):

Press Alt+1, release (!)
Within 3 seconds, either:

click on the application's icon in the launcher

or:

click on one of the application's windows

result:

How to use:

Do the set up as described in "How to use"
Test-run it by the command:

raise_app

If all works fine, add it to a shortcut key combination of your choice: Choose: System Settings > "Keyboard" > "Shortcuts" > "Custom Shortcuts".  Click the "+" and add the command

Then:

Press your key combination and within 3 seconds, either:

click on the application's icon in the launcher
click on one of the application's windows

The script

#!/usr/bin/env python3
import subprocess
import getpass
import time

def get(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")

def execute(command):
    subprocess.Popen(["/bin/bash", "-c", command])

def get_frontmost():
    cmd = "xprop -root"
    frontmost = [l for l in get(cmd).splitlines() if\
                 "ACTIVE_WINDOW(WINDOW)" in l][0].split()[-1]
    return frontmost[:2]+"0"+frontmost[2:]

# calculate screen resolution
res_output = get("xrandr").split(); idf = res_output.index("current")
res = (int(res_output[idf+1]), int(res_output[idf+3].replace(",", "")))
# get window data for various purposes
w_data = get("wmctrl -lpG").splitlines()
non_windows = sum([[l.split()[0] for l in w_data if it in l]\
               for it in ("unity-launcher", "unity-panel", "unity-dash", "Hud")], [])
# get id of current window
curr_window = get_frontmost()
# user gets 3 seconds to pick an application window (or launcher icon)
t = 0
while t < 4:
    w_id1 = get_frontmost()
    time.sleep(1)
    w_id2 = get_frontmost()
    if w_id1 == w_id2 or w_id2 in non_windows+[curr_window]:
        t = t+1
    else:
        new_frontmost = w_id2
        break
# raise
try:
    pid = [l.split()[2] for l in w_data if new_frontmost in l]
    wl_data = [l.split() for l in w_data]
    raise_windows = [l[0] for l in wl_data if pid[0] == l[2] and\
                     0 < int(l[3]) < res[0] and 0 < int(l[4]) < res[1]]
    [execute("wmctrl -ia "+item) for item in raise_windows]
except NameError:
    pass

Option 4: a key combination calls an option list, showing the number of windows per application on the current viewport

This one turned out to be more convenient then I assumed:

Pressing the (again example-)  key combination Alt+1 calls a zenity window, listing all applications and the number of their windows on the current viewport:

Simply pressing the ▴ or ▾ arrows will bring you to the right option. Press Enter and all windows of the chosen application are raised.

How to use:

Do the set up as described in "How to use"
Test-run it by the command:

raise_app

If all works fine, add it to a shortcut key combination of your choice: Choose: System Settings > "Keyboard" > "Shortcuts" > "Custom Shortcuts".  Click the "+" and add the command

The script

#!/usr/bin/env python3
import subprocess
import getpass

def get(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")

def execute(command):
    subprocess.Popen(["/bin/bash", "-c", command])
# calculate screen resolution
res_output = get("xrandr").split(); idf = res_output.index("current")
res = (int(res_output[idf+1]), int(res_output[idf+3].replace(",", "")))
# creating window list on current viewport / id's / application names
w_data = [l.split()[0:7] for l in get("wmctrl -lpG").splitlines()]
windows = [[get("ps -u "+getpass.getuser()+" | grep "+w[2]).split()[-1], w[0]]
           for w in w_data if 0 < int(w[3]) < res[0] and 0 < int(w[4]) < res[1]]
# preparing zenity optionlist
apps = [item[0] for item in windows]
# prevent multiple zenity windows
if apps.count("zenity") > 1:
    pass
elif apps.count("zenity") > 0:
    execute('zenity --info --text "Another Zenity window is open already"')
# preventing empty windowlist
elif len(apps) > 0:
    applist = [[app, str(apps.count(app))] for app in set(apps)]
    applist.sort(key=lambda x: x[1])
    # calling zenity window
    try:
        arg = get('zenity  --list  --text "Choose an application" '+\
               '--title "Current windows" '+\
               '--column "application" '+\
               '--column "windows" '+\
               '--height 250 '+\
               '--width 250 '+\
               (" ").join(sum(applist, [])))
    except subprocess.CalledProcessError:
        pass
    # raise matching windows
    try:
        [execute("wmctrl -ia "+item[1]) \
         for item in windows if arg.startswith(item[0])]
    except (subprocess.CalledProcessError, NameError):
        pass
else:
    execute('zenity --info --text "No windows to list"')

Option 5: raise windows of running applications from a launcher icon

This option exists of a launcher icon, with the currently running applications in a quicklist. Choose one, and all windows of the applications will be raised.

The launcher is automatically updated when the list of running applications (on the current viewport) changes. The quicklist shows a different list on other viewports, where windows of other applications are opened (will take 1-2 seconds to adapt).

As mentioned, although fully functional, this option is a meant as a concept. It has a few minor cosmetic downsides as it is. The most important:

The cursor "wheel" keeps spinning for a few seconds after an action. Although it does not effect the functionality, it is a cosmetic downside.
It takes 1-2 seconds for the applicationlist in the launcher icon to be updated after the list of running applications changes.

Furthermore the setup is slightly more complicated (although explained in detail below):

How to use

Below you will find:

two scripts / an icon / a .desktop file

Prepare the setup as in "How to use", save the first (main-) script as raise_app in ~/bin
Save the icon below (right-click, save as) as raise.png

Copy the .desktop file into an empty file, edit the line

    Icon=/path/to/raise.png

to the real path to the icon (paths with spaces between quotes)
 Save it as raise.desktop in ~/.local/share/applications
Drag the .desktop file to the launcher to add it
copy the second script, paste it into an empty file, save it as update_apps in ~/bin, make it executable.
Add the following command to your startup applications (Dash > Startup Applications > Add):

update_apps

Log out and back in to make it work.

The first script

#!/usr/bin/env python3
import subprocess
import getpass
import sys

arg = sys.argv[1]

def get(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")

def execute(command):
    subprocess.Popen(["/bin/bash", "-c", command])
# calculate screen resolution
res_output = get("xrandr").split(); idf = res_output.index("current")
res = (int(res_output[idf+1]), int(res_output[idf+3].replace(",", "")))
# creating window list on current viewport / id's / application names
w_data = [l.split()[0:7] for l in get("wmctrl -lpG").splitlines()]
windows = [[get("ps -u "+getpass.getuser()+" | grep "+w[2]).split()[-1], w[0]]
           for w in w_data if 0 < int(w[3]) < res[0] and 0 < int(w[4]) < res[1]]
try:
    [execute("wmctrl -ia "+item[1]) for item in windows if item[0].startswith(arg)]
except (subprocess.CalledProcessError, NameError):
    pass

The second script

#!/usr/bin/env python3
import subprocess
import getpass
import time
import os

dtfile = os.environ["HOME"]+"/.local/share/applications/raise.desktop"

def get(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")

def execute(command):
    subprocess.Popen(["/bin/bash", "-c", command])
# calculate screen resolution
res_output = get("xrandr").split(); idf = res_output.index("current")
res = (int(res_output[idf+1]), int(res_output[idf+3].replace(",", "")))
# creating window list on current viewport / id's / application names
def applist():
    try:
        w_data = [l.split()[0:7] for l in get("wmctrl -lpG").splitlines()]
        windows = [[get("ps -u "+getpass.getuser()+" | grep "+w[2]).split()[-1], w[0]]
                   for w in w_data if 0 < int(w[3]) < res[0] and 0 < int(w[4]) < res[1]]
    except subprocess.CalledProcessError:
        return []
    else:
        return set([app[0] for app in windows])

def update_dtfile(applications, text):
    actionline = "Actions="+(";").join(applications)+";\n"
    with open(dtfile) as src:
        lines = src.readlines()
    lines = lines[:[i for i in range(len(lines)) \
                 if lines[i].startswith("Actions=")][0]]+[actionline]
    for item in text:
        for it in item:
            lines.append(it)
    with open(dtfile, "wt") as out:
        for line in lines:
            out.write(line)

while True:
    apps1 = applist()
    time.sleep(1)
    apps2 = applist()
    if apps1 != apps2:
        text = [["[Desktop Action "+it+"]\n", "Name="+it+"\n",
            "Exec=raise_app "+it+"\n", "OnlyShowIn=Unity;\n\n",
            ]for it in apps2]
        update_dtfile(apps2, text)

The .desktop file

[Desktop Entry]
Name=Raise application windows
Comment=Raise groups of windows
Icon=/path/to/raise.png
Terminal=false
Type=Application
Version=1.0

Actions=

Brief Explanation

All solutions above use wmctrl to create a window list, using the wmctrl -lpG command. This command produces lines, looking like:

0x044000b3  0 3429   65   24   1615 1026 jacob-System-Product-Name unity - How to show all windows of an application? - Ask Ubuntu - Mozilla Firefox

These lines include:

1st column: the window's id (that we can use to raise it)
3rd column: the pid that owns the window.
4th / 5th column: the window's geometry x-y (that we use to see if the window is on the current viewport, i.c.w xrandr)

The pid is looked up in the output of ps -u <username> to get a "user-readable" identification (name) of the application.
Thus we can allocate windows to applications. Subsequently we can raise the windows of a given application in a for loop with the command wmctrl -ia.

In option 3
the script starts a 3- second "waiting" loop, using the xprop -root command repeatedly to see if there is any change in what is the frontmost window; this will happen if the user either clicks on a launcher icon to raise an application's window, or clicks on a window directly. If so, the while- loop breaks and looks up the "new" frontmost application, and subsequently raises all other windows of that application.


FTP files opened from Nautilus opens in Firefox instead of default application (Ubuntu 18.04)

If you mainly want to edit files with gedit, you can add the following line to ~/.config/mimeapps.list

x-scheme-handler/ftp=org.gnome.gedit.desktop

Put it under the block "Default Applications". It works for me, but it sets the default program for ALL ftp-files to gedit.