Ubuntu 19.10 Screen remains blank after wake up from suspend

Let's start with:

BIOS:

Your BIOS is 2.13.0. Current BIOS is 2.14.0, from Nov 26, 2019.

Please see https://www.dell.com/support/home/us/en/04/drivers/driversdetails?driverid=yh9x7 for the update.

Please see https://www.dell.com/support/article/za/en/zabsdt1/sln171755/update-the-dell-bios-in-a-linux-or-ubuntu-environment?lang=en for how to do this in a Linux only environment.

NVIDIA:

Your Nvidia driver is 435.21. Current driver is 440.44, from Dec 11, 2019.

Please see https://www.geforce.com/drivers for the update.


Record 8 separate Line IN Channels from M-Audio Delta 1010 Card

I am not familiar to command line recording but in your case a GUI may help.

I think Ardour can help you with this tasks but yes, you will be in the need to use JACK in order to tell Ardour where exactly to gather audio inputs. Ardour will be able to handle per input track generation the same as other features.

I am personally not using Ardour, I use Audacity which is also an audio multi-track editor/recorder and may be you can use it to extract your multi-track wav into single wav files.

My suggestion would be you to give a chance to Ubuntu Studio, which is a distribution that features the majority of the tools needed to do multi-media tasks and is using JACK as the main audio engine.

You can reach Ubuntu Studio and download an iso in order to burn a CD/DVD from the next link.

http://ubuntustudio.org/

After burnt, simply perform a Live Session in order to check if Ardour, Audacity and JACK fits what you need. This way you won't harm your current OS installation.

I would appreciate a lot if you inform about your results and I am sorry because of I can't help you further at this time because of I am using a version of Ubuntu other than Studio.

Good Luck!

Screenshots of Ardour in action are placed here for your convenience:

Here is Ardour's Session Control (seen at startup)

Here is Ardour GUI


How does "less" switch to the text, then back to the prompt?

All of less’s screen management functions are in its screen.c module. At startup, unless it’s in “no init” (-X or --no-init) mode, it outputs its sc_init string, which is termcap’s ti string (“terminal initialisation”, which gets the terminal ready for full-screen, cursor-controlling operation). At exit, it outputs its sc_deinit string, which is termcap’s te string.

The behaviour you’re seeing is the default behaviour with git, if less isn’t configured (i.e. the LESS variable is unset); when that’s the case, git runs less with the FRX options, which cause less to respectively quit if the content fits on a single screen, display colours, and skip initialising the terminal.

To get the behaviour you’re after, set LESS to -R, or set the core.pager git setting to something like less -+X (see man git-config for details).


How do I determine which version of Python I'm using?

Run the following commands and whichever gives an output is the version you have:

Python 2: python --version
Python 3: python3 --version

Note: You can have both installed and used independently by simply adding the shebang to the top of the Python script to indicate which you want to use. Example:

python 2 script: #!/usr/bin/python
python 3 script: #!/usr/bin/python3


How do I share my NIC which has internet connectivity with another NIC?

See the answer of your second question...
https://superuser.com/questions/275124/how-do-i-share-my-internet-connectivity-to-another-nic


How can a new user be given write/chmod permissions to a single file and write/chmod permissions for that file then be removed from root?

Nope, the root user can not possibly be restricted. If you have root access, you can do everything and also revert all kinds of protections one could think of.

Besides, you should normally not directly use the root account anyway but log in as regular user and use sudo to run single commands with elevated permissions. This also helps preventing some accidental changes, compared to always operating in a root shell.

To further protect against accidental modification, you could make the file immutable using

sudo chattr +i /etc/hosts

to prevent modifications by everybody, including root and system processes (which might be something that could cause trouble depending on the file and what you're doing with it). But still, root can lift that protection again.

To sum it up, with great powers (root login or sudo access) comes great responsibility. If your friend thinks they must be prevented from altering system files like that, they should not have administrative access to the machine.


Ok, this is quite simple, what you want to create is a named file with a .desktop extension with contents like this:

[Desktop Entry]
Name=Steam
Comment=Application for managing and playing games on Steam
Exec=/usr/bin/steam %U
Icon=steam
Terminal=false
Type=Application
Categories=Network;FileTransfer;Game;
MimeType=x-scheme-handler/steam;
Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends;

To create this file globally you can run your favorite text editor as root using sudo, using the terminal application. If it's a graphical editor, keep your environment clean by adding the -H flag:

sudo -H gedit

Browse to the /usr/share/applications/
directory. It should look something like this:

Select any .desktop file, it should look something like the steam.desktop example above. After you have edited it it should be close to this:

[Desktop Entry]
Name=Fritzing
Comment=
Exec=sh [link to file]
Icon=[link to icon(not required)]
Terminal=false
Type=Application
Categories=[choose what categories you want this file to fit into such as Game,Browser ext.]

It is important to note that the path to the files has to be the full path. Tilde expansion won't work so you can use ~/ paths. Also if you want to run your script as root you can add gksudo (gksudo has been removed from ubuntu as of 13.04, you can install it by running the command sudo apt-get install gksu in the terminal) before the sh command on the Exec= line.

Once you have saved your file, right click, go into properties, permissions and make sure that Allow executing as file is ticked. Then restart, it may not be required though.

Terminal way:

cd /usr/share/applications/
sudo -H gedit [your chosen desktop file]

or

sudo nano [your chosen desktop file]

Edit it then save as what you want to call it.

chmod a+x [your saved desktop file]

You may need to restart you pc

sudo reboot


Ryen Raven Ridge 2400G Problems on Ubuntu 16.04

Yep you were right, After playing around with the BIOS for a while- UEFI boot, Legacy boot disabled, secure boot disabled, legacy boot roms enabled. and setting nomodeset in the live USB grub, I got the installer to load for Ubuntu 18.10. To my surprise, it booted right up without issue after the install and i didn't even have to add the nomodeset command! :D Graphics look good. Thanks for your help!


Issues redirecting old site URLs to new site URLs with NGINX

You've got some problems with your configurations.

We'll go through each individual server block here individually.

Block #1: projects.old-site.com -> projects.new-site.com redirection

This is what you provided us:

server {
    listen                80;
    listen                443 ssl;
    server_name           projects.old-site.com;
    access_log            off;
    return 301 $scheme://projects.new-site.com;
}

You're missing a lot of things here for configuration:

ssl_certificate directive - necessary to know what SSL cert to serve for the domain.
ssl_certificate_key directive - the SSL Certificate key file that corresponds with the SSL cert for the 'old' projects site.

You're doing a 301 redirect to match the scheme, but why are you doing this if you direct non-SSL to SSL in server block 2?  Just redirect to the HTTPS site, and include the $request_uri for obvious reasons (you don't pass the same request URI through, so things don't work proper).

Your correct server block here should look more like this:

server {
    listen 80;
    listen 443 ssl;
    server_name projects.old-site.com;

    ssl_certificate /path/to/valid/projects.old-site.com/certificate;
    ssl_certificate_key /path/to/valid/projects.old-site.com/certificate.key;

    access_log off;
    return 301 https://projects.new-site.com$request_uri;
}

Block #2: http -> https redirection for projects.new-site.com

You gave us this:

server {
    listen                80;
    server_name           projects.new-site.com;
    access_log            off;

    client_max_body_size  100M;

    return 301 https://$host$request_uri;
}

You don't have many issues here, but let's try not accepting $host globally here (we don't need it, we know where we want it to end up), and we don't need client_max_body_size either.  301 redirects don't respect that anyways.

You should end up with this:

server {
    listen                80;
    server_name           projects.new-site.com;
    access_log            off;

    return 301 https://projects.new-site.com$request_uri;
}

Block #3: https://projects.new-site.com

Now for your third block.  *Without the entire server block and all of its configuration directives, we cannot properly assist with configuring the block.

You gave us this:

server {
    listen                443 ssl;
    server_name           projects.new-site.com;

    client_max_body_size  100M;

    ssl_certificate       /path/to/new-site.crt;
    ssl_certificate_key   /path/to/new-site.key;

    ...
}

There's nothing really wrong with this block, however unless you need the client_max_body_size directive for your backend application, you should probably remove it.


Lenovo IdeaPad 1 11ADA05: How can I access the eMMC?

Likely your laptop is too new for Linux 5.8. Try any Linux distro with latest Linux (5.10), e.g. Guix: https://guix.gnu.org/en/download/latest/


place Notify OSD on top of Screen Gnome 3

The Reflection GNOME Shell extension may be able to do this for you, although everything else will be switched around as well. This is the closest solution I can find.


Unity equivalent to gnome drawers and/or unique icons

Try Drawers for an easy (drag-n-drop) way to create custom launchers. It's an app I wrote to bundle together different launchers or shortcuts for files, weblinks, etc. It's easy to edit contents names and execution lines once they're added to the drawer (right-click items and choose Edit Properties).

Here's a video I recently created to show its usage.

Here's what it looks like when you open a drawer:

Any items you add to the drawer will be available also through Quicklists (right-clicking the launcher) so opening a drawer isn't even necessary.

I will be releasing a new version shortly (13.1.1) that has a number of improvements including launching applications in terminals.

To install add the repository:

sudo add-apt-repository ppa:ian-berke/ppa-drawers
sudo apt-get update && sudo apt-get install drawers


What can I do about rsync of large files killing my laptop's wifi connection

I think because rsync use all bandwidth in wifi CMIIW, you must limit rsync banwidth usage so other proccess still work. try to add  --bwlimit parameter, then your script will be like this :

  rsync -avhz --bwlimit 10 --progress
  --delete /home/dbdean/ david@tv.local:/home/backups/david/


"X does not support your locale" error when running keepass2

I have resolved the issue myself! (:

Solution approach:

I ran keepass in verbose mode, hoping to see what step it hung/failed on:

mono --verbose /usr/lib/keepass2/KeePass.exe

The step is froze on was to do with a line I recognized from the configuration file (~/.config/KeePass/KeePass.config.xml), so I reviewed it.

Cause:

The configuration file ~/.config/KeePass/KeePass.config.xml contained a syntax error in one of the XML tags: <TrayIcon>>

Solution:

Corrected the syntax error: <TrayIcon>

Prevention/fix suggestion:

During initialization, the configuration file's syntax should be checked before importing values. If formatting errors are found, an explicit message should be raised for the user.


cannot input password after input username and press enter in tty1 of ubuntu 16.04

I think the problem is the kernel version 4.15.0-43-generic.

Remove 4.15-0-44-generic and 4.15-0-45-generic:

sudo apt-mark hold linux-*-4.15.0-4[45]-generic
sudo apt remove linux-*-4.15.0-4[45]-generic

Install 4.15.0-43-generic

sudo apt install linux-{image,headers,modules,modules-extra}-4.15.0-43-generic

Instructions copied from here


Both channels of audio play out of left speaker

Left my computer on overnight and it fixed itself. I guess all the stuff I tried before somehow actually worked.


vimrc file comments - double-quotes vs two double-quotes

This is the main difference:
" Comments to describe what the line of code below does
"" Actual working code for the .vimrc file but still commented.

So that when you see double "double quotes" it's commented code, you can uncomment it by removing the double "double quotes", the single "double quotes" mean "I'm just a comment" and are not to be "uncommented", makes sense?. Hope this helps. Do not hesitate to ask if another doubt comes up!
UPDATE 0: In the .vimrc file, line comments are made by adding a double quote " to the left of the text, this means that everything to the right of the " is a comment; multiline comments can't be made in the .vimrc file except adding a " to the beginning of each line, thus resulting in multiple single-line comment unlike C or PHP where you can use these opening-multiline-comment /* and closing-multiline-comment */ . I don't know if it's still out there but there was a plugin called "The NERD plugin" or "The NERD Commenter" in vim. Hope this helps!
UPDATE 1: With regards to the double "double quotes" and single "double quotes", for example the first lines in your .vimrc file:

" Better copy & paste
" When you want to paste large blocks of code into vim, press F2 before you
" paste. At the bottom you should see -- INSERT (paste) --.
"" set pastetoggle=
"" set clipboard=unnamed

Please note at the start of each line there's a bolded double quote like this " this means that every single text character in that line starting immediately to the right of it is a comment.
Now, notice the last two lines where there are double "double quotes" at the beginning of those lines. The first character in the line is a bolded double quote like this " and the second character in the line is an Italic double quote like this ". Again, as explained above, this means that every single text character in that line starting immediately to the right of it is a comment. Now the second "double quote" is part of the comment, you could even add 3 or more double quotes, because when a line has the double quote character everything to the right will be interpreted as a comment. This is just for the programmers or users to detect faster where is the working code and where are the plain comments, a visual reference. Hope this helps. Again, do not hesitate to ask if there's any doubt, Cheers!


7zip is good for this and it integrates with the archive manager.

Install p7zip (and some add-ons to make sure you can open all formats)

 sudo apt-get update
 sudo apt-get install p7zip p7zip-full p7zip-rar

Try opening the .7z archive again.


Getting gpg key error while installing RVM

I got the same problem, please execute the following:

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys BF04FF17


How to find the added hosts address in SSH?

What you have is a hashed known_hosts file, which is the default. These are one-way hashes of the host|key, so you cannot recover the actual hostname. This is intentional, as knowledge of all the hosts you have accessed and cached keys for (and, perhaps more importantly, knowing which ones you haven't) is fairly valuable to someone who wants to fool you into sharing your passwords with them. Its not enough if you're using SSH keys, as you may do something sensitive while logged in through an attacker's machine.

What you should do is ssh to all your machines, and verify the fingerprint carefully when doing so. Once you have all of them, you can distribute this known_hosts file to the clients that need it. Note that you can put it in /etc/ssh/known_hosts so that all users get it, not just your current user.


Why doesn't cheese work on Ubuntu 12.04?

Not every camera works with cheese.  Try another camera package like luvcview, which I found works with at least one camera cheese doesn't.


A filename of "-", by convention, usually means "STDOUT", the standard output stream, so "-o-" writes curl's output (the file it retrieved) to curl's "STDOUT".
In this case, what's retrieved is a bash script, and the pipe ("|") connects curl's output to bash's standard input, to interpret (execute) the script.
This is a method for retrieving a script and executing it, without seeing what the script does. Not a good idea. It's a trust issue.


Installing Starlink - what does this step mean?

Go to the Ubuntu software center, and type "csh" in the search field. It will indicate a package called "Shell with C-like syntax".

Alternatively,

sudo apt-get update
sudo apt-get install csh

To search for a package from command line:

apt-cache search csh
apt-cache show csh


Turns out that WSL was never meant to run anything other command-line Ubuntu. I was referred to a Microsoft page which said Gnome, etc. will not operate under the Linux Subsystem; it was never intended for that.


Unable to create/edit/delete remote files after mounting them locally with SSHFS

OK a few basics, as we ran into misunderstandings:

The first level of permissions comes from the remote server: here files in /var/www are owned by www-data and group is set to the same.

By default only the owner has write access there, while the group is read-only. Thus mounting as your remoter user does not have the desired effect, as he is group member only and not www-data itself.

Best not to change ownership of /var/www as you did - this may break a few things. E.g. users would not be able to upload files to the server as nginx is ran by www-data and thus writes would be done as this user.

So how to manage your problem?
I believe the most secure way would be to mount it as user www-data. Let's go the safe route and use key-based logins only, as well as try to restrict access too the very part we need only. I'll be detailed so other users may profit as well.
Definitions:

client - your PC at home
server - the website server with the directory you want to mount
www-data - the user www-data on the server
dan - your local user on your client

Prerequisite: root-rights on server
1) If not existing, create a keypair for dan on your client
   ssh-keygen

Just go with no password. You now should now have the files id_rsa and id_rsa.pub in ~/.ssh - If you are not familiar with passwordless ssh, there is plenty of information out there.
2) Make www-data accept dan's public key for logins
www-data has /var/www as home directory. In some cases you might want to make this directory browseable. In general you would not want to put the authorized_keys-file (which is a list of accepted public keys for ssh-logins) there despite the home of a user being the standard location. Let's go for a dedicated place then; best in /etc.
On the server: Create a file /etc/www/ssh/authorized_keys (plus parent directories). Change ownership of file AND parent directory to www-data, as well as adapt permissions. This is necessary as ssh only accepts an authorized_keys file with specific permissions on the file and parent directory and ownership by the related user:
   chown -R www-data:www-data /etc/www/ssh
   chmod 700 /etc/www/ssh
   chmod 600 /etc/www/ssh/authorized_keys

Leave ownership of /etc/www with root
Now copy the content of dan's public key (on client /home/dan/.ssh/id_rsa.pub .... pub!, the other one is your secret file and never to be shared) to this file. Make sure the entry is on one line (sometimes copying may introduce newlines). Should look similar to this:
  cat /etc/www/ssh/authorized_keys
  ssh-rsa VERY+long+KEY+from+NUMBERS+and+LETTERS+covering+SEVERAL+lines dan@client

3) Adapt ssh-server for this type of connection
www-data has no shell for security reasons (see /usr/sbin/nologin from grep www /etc/passwd). We therefore need to adapt the ssh-server settings to still allow mounting directories. For security reasons, let's also change the root directory, so www-data via ssh may not escape outside /var/www, and enforce public key authentication, as well as deactivated interactively sending commands. After all a webserver sees the internet - hackers love this.
On the server: At the END of /etc/ssh/sshd_config add these lines. Note that match blocks never end until the next match block. Also note that /var/www must be owned by root (as is default) for the ChrootDirectory command to work.
Match User www-data
    AuthorizedKeysFile /etc/www/ssh/authorized_keys
    ChrootDirectory /var/www/
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
    PasswordAuthentication no

(Sources: ArchWiki , ssh without shell , defining authorized keys)
Reload the config via systemctl reload ssh.
4. All done
Do the sshfs-mount as desired on the client
sshfs www-data@server:/html /homa/dan/WorkServer

Note that with the changed root directory, /var/www/html becomes /hmtl only as /var/www is now the root directory.
5. Additional hardening
If applicable: you are doing this in your workplace LAN only? Deny ssh-access to www-data globally and grant it on the network only. Before the match block in sshd_config:
 DenyUsers www-data

and put the work LAN (e.g. 192.168. block) in the match criteria:
 Match User www-data Address 192.168.


How to re-encode video into H.264 when ffmpeg Unknown decoder 'libx264' despite --enable-libx264

Option order matters:

ffmpeg [input options] -i input [output options] output

You're attempting to apply your encoding options to the input. Change your command to:

ffmpeg -i tmpoHcVBN.mp4 -c:v libx264 -preset slow -crf 22 -c:a copy output.mp4

Note sure how you got the WARNING: library configuration mismatch message, but it shouldn't show up when using a build from johnvansickle.com.


Some pool servers are stratum 1, but they can vary up to stratum 4 depending on which ones you get in the DNS response - ubuntu.pool.ntp.org is a vendor zone of the volunteer-maintained NTP pool, and the servers in it can and do change from DNS query to DNS query based on the weighting system which the pool uses to distribute load.  There is no difference between using [0-3].ubuntu.pool.ntp.org and using [0-3].pool.ntp.org - the only thing it does is allow the pool DNS servers to know that the query is coming from a system based on the Ubuntu default configuration.

There's nothing magical about having a stratum 1 source.  NTP is designed to maintain close time synchronisation at every stratum in the network.  But if you want to be sure that you're getting a stratum 2 or lower server, consider getting your time from a more fixed pool of servers, such as ntp.ubuntu.com (which are all stratum 2) or time.apple.com (which are all stratum 1).


How can I prevent annoying workspace- overlapping window appearance?

How to prevent workspace- overlapping windows

I believe the solution below is doing what you describe. This is what it does:

The usual effect: overlapping windows will appear on the adjacent workspaces

Effectively, when pressing a key combination, this will be the result

In practice:

An example

Working on (e.g.) workspace 1, with some windows overlapping on other workspaces
Then move to workspace 2, press the shortcut key combination:
all windows, except the ones on the current workspace, will be minimized, and thus not appear on the current workspace anyway (except for the launcher).
Then returning to workspace 1, pressing the key combination again, the desktop will be exactly like you left it. Even de window order (z-wise) and possibly minimized windows will be exactly like it was. At the same time, windows on other than the current workspace will be hidden.

How it works

The solution includes two scripts; one background script, that keeps track on the z-order of the windows (since we do not have tools to get it otherwise), and a script to minimize the windows and keep track on which windows already were minimized by the user.

Why two scripts?

Initially, I had the script combined in one, and it seemed to work fine. However, on my system, it increased the (idle) processor occupation from 3-4% to appr. 9-11%, which is too much for a background script in my opinion, especially when you run multiple scripts at the same time.
The script is now split into a background section that keeps track on the focus- history (to be able to un- minimize the windows in the same z- order as you left the workspace), and a script to call with a keyboard shortcut. The background script adds practically no background noise.

How to set up

The script(s) need both wmctrl and xdotool:

sudo apt-get install wmctrl xdotool

Copy script1 below into an empty file, safe it as focus_history.py:

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

rootdata = os.environ["HOME"]+"/.focus_history"

def current_windows():
    try:
        return subprocess.check_output(["wmctrl", "-l"]).decode("utf-8")
    except subprocess.CalledProcessError:
        pass

def convert_format(w_id):
    return w_id[:2]+(10-len(w_id))*"0"+w_id[2:]

def read_data():
    return open(rootdata).read().splitlines()

def get_top(wlist):
    try:
        top = convert_format(
            [l.split("#")[-1].strip() for l in subprocess.check_output(
                ["xprop", "-root"]
                ).decode("utf-8").splitlines() \
               if "_NET_ACTIVE_WINDOW(WINDOW)" in l][0])
        return [l for l in wlist if top in l][0]
    except IndexError:
        pass

open(rootdata, "wt").write("This is an empty line")

while True:
    time.sleep(0.5)
    wdata = current_windows()
    if wdata != None:
        wlist = wdata.splitlines()
        # get frontmost window (as in wmctrl -lG)
        top = get_top(wlist)
        oldlist = read_data()
        if not any([top == oldlist[0], top == None]):
            # clean up closed windows
            [oldlist.remove(l) for l in oldlist if not l.split()[0] in wdata]
            # remove possible other mentions of the active window
            [oldlist.remove(l) for l in oldlist if l.startswith(top.split()[0])]
            open(rootdata, "wt").write(("\n").join([top]+oldlist))

Copy script2 below into an empty file, safe it as stop_overlap.py:

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

wfile = os.environ["HOME"]+"/.m_list"
rootdata = os.environ["HOME"]+"/.focus_history"

def get_res():
    # get the resolution (workspace- size)
    data = subprocess.check_output(["xrandr"]).decode("utf-8").split()
    mark = data.index("current")
    return [int(n) for n in [data[mark+1], data[mark+3].replace(",", "")]]

res =  get_res()

def get_wlist(res):
    try:
        # get the window data
        wlist = [l.split() for l in subprocess.check_output(
            ["wmctrl", "-lG"]).decode("utf-8").splitlines()]
        # check if windows are "normal" windows and see if they are minimized
        show = []; hide = []
        for w in wlist:
            w_data = subprocess.check_output(
                ["xprop", "-id", w[0]]
                ).decode("utf-8")
            quality = [
                "_NET_WM_WINDOW_TYPE_NORMAL" in w_data,
                "_NET_WM_STATE_HIDDEN" in w_data,
                ]
            # check if windows are on current workspace or elsewhere
            onthis = all([0 < int(w[2]) < res[0],
                    0 < int(w[3]) < res[1]])
            # summarize what should be done with the windows
            if all([quality == [True ,True], onthis == True]):
                show.append(w[0])
            elif all([quality == [True, False], onthis == False]):
                hide.append(w[0])
        return [show, hide, [l[0] for l in wlist]]
    except subprocess.CalledProcessError:
        pass

oncurrent = []; onother = []; d_wlist = []
wins = get_wlist(res)

for w in wins[1]:
    # hide (minimize) windows on other workspacec -only if- they are not hidden already!
    subprocess.Popen(["xdotool", "windowminimize", w])
    # write hidden windows to a file, so the script will only un- minimize windows
    # that were not hidden in the first place
    open(wfile, "a+").write("\n"+w)
if wins[0]:
    # if there are windows on the current workspace that need to be un- minimized,
    # show them in the correct z- order, as recorded by the other script
    priority = reversed([l.split()[0] for l in open(rootdata).read().splitlines()])
    try:
        d_wlist = [l for l in open(wfile).read().splitlines() if not l == "\n"]
    except FileNotFoundError:
        d_wlist = []
    for w in priority:
        if all([w in wins[0], w in d_wlist]):
            subprocess.Popen(["wmctrl", "-ia", w])
            time.sleep(0.1)
            d_wlist.remove(w)
    # clean up window list, remove non- existant windows
    d_wlist = set([item for item in d_wlist if item in wins[2]])
    open(wfile, "wt").write(("\n").join(d_wlist))

Test- run the setup:
before opening any other windows:

Run script1 from a terminal window by the command:

python3 /path/to/focus_history.py

Now open some random windows, some overlapping your workspaces
Now move to the adjacent workspace, run script 2 with the command:

python3 /path/to/stop_overlap.py

The overlapping windows should disappear

Move back to the first workspace, run the last command again, your workspace should be restored exactly like it was

If all works fine, add script1 to Startup Applications: Dash > Startup Applications > Add. Add the command:

/bin/bash -c "sleep 15 && python3 /path/to/focus_history.py

Add script2 to a shortcut key: choose: System Settings > "Keyboard" > "Shortcuts" > "Custom Shortcuts". Click the "+" and add the command:

python3 /path/to/stop_overlap.py

to a shortcut of your choice...


Ubuntu 13.04 and Reliance Netconnect USB Modem

Do not panic.  Its not at all difficult.

First and formost thing is connect your ubuntu desktop or laptop to internet using ethernet connection or any other connection which is possible.

Update your system with following two  commands in terminal window.  ( Ctrl + ALT + T )

sudo apt-get update
sudo apt-get upgrade

With this commands your Ubuntu system is updated.

Now install following packages using terminal window.

 sudo apt-get install usb-modeswitch

 sudo apt-get install wvdial

Now put your Reliance netconnect+ usb modem into to usb drive.  After waiting for about 20 seconds,  you can give following command in terminal window

lsusb

Note down ZTE WCDMA Technologies device id and product id on a piece of paper.

In my case it was 19d2:ffe9

Here 19d2 is device id and ffe9 is a product id.

Create new file using following file.

sudo nano /etc/udev/rules.d/90-zte.rules

Enter following code.  [ everything is one line ]

SUBSYSTEM=="block",SUBSYSTEM=="scsi",ATTRS{model}=="USB Storage FFE9",ACTION=="add",RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0xffe9"

and save this file.  Please remember to change the vendor id and product id as noted down on piece of paper earlier.

Now give following command and press return.

sudo /sbin/modprobe usbserial vendor=0x19d2 product=0xffe9

On command prompt type following command.

sudo wvdialconf /etc/wvdial.conf

This will create wvdial.conf file in your /etc directory.

edit this file using following command.

sudo nano /etc/wvdial.conf

remove ; before username and password.

username = your 10 digit mdn number
password = your 10 digit mdn number

save this file.

Now you can create a connection in network management under Mobile Broaband

Gve anyname for the connection say "Reliancenetplus"

Number should be #777
Username is : mdn number
password is : mdn number

mdn number is like your mobile number in 10 digit.
Save this connection.

Disconnect your earlier connection using wired or broadband connection.

From network manager you will now see Reliancenetplus  .  Just click.

You are now connected...

Enjoy.


Is 'fsck error on boot' hardware related or a bug?

You may have a hardware or a software problem. This is not a 17.10 bug, and installing 17.04 won't solve it.

First, as you've done before, lets check/repair your file system...

To check the file system on your Ubuntu partition...

boot to the GRUB menu
choose Advanced Options
choose Recovery mode
choose Root access
at the # prompt, type sudo fsck -f /
repeat the fsck command if there were errors
type reboot

Once completed, and rebooted, start the Disks application. Select your disk in the left column, then click on the "hamburger" icon and select SMART Data & Tests. Review the data and run the tests. This will give you some indication about the condition of your hard disk.


Ubuntu Software Center Stuck in the Middle of Installation

What I would usually do is just to reboot the machine, then re-install again


Reinstall Ubuntu 14.04 from the terminal window

The following command:

sudo apt-get install --reinstall ubuntu-desktop

may solve your problems.


Problem in disc partitioning while installing lubuntu

If you want to install Ubuntu taking up the whole disk, the procedure is even easier.

Install from CD-ROM or USB drive as usual, then when the installer ask about partitioning select the option "Use the whole disk". The installer will warn you that it has detected an existing OS; just ignore the warning and go ahead. Your Windows partition will be nuked and your computer will be happily running Ubuntu.

I am not sure whether this type of partitioning leaves in its place  the Windows recovery partition; but if yes, you can safely leave it there -- it's just a couple of Gb in size.


How to change default terminal of Geany to Konsole (or another emulator that supports CTL)?

Way 1: You can change the terminal in the Tools tab in Geany's preferences.
In its Edit → Preferences dialog, Geany has a Tools tab. (This is separate from the Terminal tab.) One of the utility selections that you can configure from the Tools tab is Terminal.

It has this as its default value, but you can change it to whatever you like:
x-terminal-emulator -e "/bin/sh %c"

So one way to make it use Konsole instead of whatever x-terminal-emulator is configured to run is to replace x-terminal-emulator with konsole. (Don't capitalize the k.) That is, one solution is to change that command to this one:
konsole -e "/bin/sh %c"

Geany itself substitutes for %c when it actually launches a terminal emulator. Whatever terminal emulator it calls does have to support a -e flag--or you can change that commmand accordingly if it doesn't. (Specifically what to write instead would depend on whatever syntax it did accept.) But most terminals do, and this includes Konsole.
Way 2: You can change what program x-terminal-emulator points to.
As an alternative solution that you might prefer, if you pretty much always want Konsole in any context where a terminal is opened, then you might want to just reconfigure x-terminal-emulator to launch Konsole instead of whatever other terminal it is currently launching.
If you choose to do this, then I recommend still checking in the Preferences dialog in Geany to make sure that it is actually using that x-terminal-emulator command shown above.
In Debian and Ubuntu, the x-terminal-emulator symlink is managed by the alternatives system. To adjust it so that it points to a different terminal command, you can run:
sudo update-alternatives --config x-terminal-emulator

You will be prompted to select one of the terminal emulators that is currently installed. Assuming Konsole is installed on your system, you should be able to select /usr/bin/konsole.
Acknowledgements
Zanna contributed substantially toward this answer.
See also the Geany manual (linked from this question, though that is not asking for the same thing, as the VTE is Geany's built-in terminal, which it sounds like you do not want to use).


multi-monitor setup and arrangement globally (not per user)

Using arandr and xrandr to arrange and invoke the arrangement script respectively may solve your issue if you:
First: Arrange the monitors.
In my case I just use a 2 monitor arrangement, but my configuration requires the monitor identified as HDMI-1 to be vertical, so I use arandr to arrange the monitors as I would like them to be used. Please see the next screenshot.

Second: Save the screen arrangement script file
Once you're satisfied with your monitors arrangement, just hit the diskette (I don't know why it is a diskette nowadays but, whatever), and save your monitors arrangement in a shell script (.sh)
Don't forget where did you place the script
Please notice you can have as many scripts as you need for any desktop arrangement, anyway, the same script will work for any user if you use a copy or set the proper execution permissions for every single user.

In my case, the screen-home-office-vertical-right.sh file contains the next code:
xrandr --output HDMI-1 --mode 1280x1024 --pos 1366x0 --rotate left --output eDP-1 --mode 1366x768 --pos 0x512 --rotate normal

Notice that, learning from xrandr usage in a terminal will be really useful if you may wish to create your own commands. But if you wish to keep it simple, just go for arandr, it will be your best friend.
Third: Run the script at boot on every user session.
But don't forget to give the script file the proper execution permissions (chmod +x scriptname.sh) or use the proper shell command to run it (bash scriptname.sh).
I am using i3wm as my Tiling Window Manager, so I can't say for other systems but in i3wm is as easy as running the script from cron, or from the i3 config file, or any other way.
You can also run it manually with a key combination. It is your time to do some research on your Window Manager/Desktop Environment.
Fourth: Buy me a beer!
Ok no... Just vote for my answer or choose it as accepted if it does the trick for you.
Best regards.


Do you have your hostname entry present in /etc/hosts like this?

127.0.0.1  legend27

And BTW, /etc/hostname is a file which needs to be edited, not a command to be executed.

$ /etc/hostname # Executes /etc/hostname as a command; wrong way to do it
$ gedit /etc/hostname # Opens /etc/hostname for editing, right way to do it

You get that "Permission denied" error because /etc/hostname doesn't have the execute bit set on its file permissions, and it is not intended to be executed anyway.


How to install libimobiledevice latest version on Ubuntu 18.04

It's available through the default 18.04 repositories, so simply:

sudo apt-get install libimobiledevice6 libimobiledevice-dev

The latest stable release is 1.2.0, according to libimobiledevice homepage and GitHub page. 18.04 is bundled with version 1.2.1:

$ apt-cache madison libimobiledevice-dev
libimobiledevice-dev | 1.2.1~git20171128.5a854327+dfsg-0.1 | http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages


Can't set up IMAP on a working email server

It's been a while since I solved it, and I still haven't laid out my solution, so here it is :

Although Thunderbird would not auto-detect anything, I just had to manually configure all the fields (ports for IMAP and SMTP, authentification methods, whose translation should be 'plain/unencrypted password') and everything would just work as expected.


Netplan bridge for KVM on Ubuntu Server 18.04 with static ips

Exampels on netplan.io like Bridging with Libvirt should be the way to go.
You'd set up a bridge in the Host linked with the external interface - in your case enp30s0. Then tell libvirt to use that bridge and your guest will get devices on this.

You then will either need to setup libvirt/dnsmasq in the host to serve IPs to the guests from the range that you want to, or configure your guests statically in the guest to the addresses you want them to use.

Something like

network:
  version: 2
  renderer: networkd
  bridges:
    br0:
      dhcp4: no
      addresses: [xxx.xxx.xxx.100/24, xxx.xxx.xxx.102/24, xxx.xxx.xxx.105/24, ...]
      gateway4: xxx.xxx.xxx.1
      interfaces:
        - enp30s0

And in the guest

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses: xxx.xxx.xxx.106/24
      gateway4: xxx.xxx.xxx.1

And for libvirt network to use the bridge as provided by the system:

<network>
  <name>br0</name>
  <bridge name='br0'/>
  <forward mode="bridge"/>
</network>

A lot of the details depend on your needs, but that should outline the path to go. I'm sure people will appreciate when you got it running if you could update your post with the final effective config that got you working.


Unable to make changes in BIOS after 17.10 installation

FINALLY, I GOT IT DONE!

I update the kernel to '4.14.9' and then restarted with ubuntu advanced options> with the latest kernel. and then restarted again.
ALL BACK TO NORMAL.

This is what I did step by step

Install Ukuu

Its easy to update the kernel with Ubuntu Kernel Update Utility (Ukuu), Click here.

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu

Update the kernel

Select the kernel 4.14.9 and select Install. wait for the installation to be completed and then restart the PC.
Restart the system with the latest kernel

From GRUB select the option which starts with "Advanced options".

Select Ubuntu GNU/Linux, with Linux 4.14.9-generic. wait for the system to load completely.
Restart again and go into the BIOS

Restart the system again and check the BIOS to see if the problem is fixed.

I can change settings from BIOS.
BIOS is detecting new HDD.
In short everything worked out.


Cancel Process with Ctrl + C will not work in Terminal

In my experience, the best cygwin tool is MobaXterm. It handles custom environment variables, and seamless X11 forwarding. I used it at work exclusively for 4 months and it sent ctrl + c commands just fine.

I much prefer it to putty. Check it out at http://mobaxterm.mobatek.net/


Does dconf default terminal profile UUID change between Ubuntu installations?

Surprisingly, the default (first) profile has this ID on every computer.

The list of gnome-terminal profiles, as well the default one, are stored in org/gnome/terminal/legacy/profiles:/list and org/gnome/terminal/legacy/profiles:/default, respectively. You can query and restore them with dconf just as you do with the profiles themselves (e.g. dconf read [...]), or use their result in constructing the next dconf command line.


Have anybody succeed installing Subtitle Edit in Wine?

Subtitle Edit installs reasonably well on Focal Fossa 20.04 without installing Wine. The Subtitle Edit web site suggests the following dependencies be installed first before installing the application itself:
sudo apt-get install mono-complete
sudo apt-get install libhunspell-dev
sudo apt-get install libmpv-dev
sudo apt-get install tesseract-ocr
sudo apt-get install vlc
sudo apt-get install ffmpeg

These installed easily enough under Focal Fossa on my test system. The main application can then be installed either to /usr/local or, as I suggest below, in the user's $HOME/bin:
mkdir $HOME/bin && cd $HOME/bin
wget https://github.com/SubtitleEdit/subtitleedit/releases/download/3.5.18/SE3518Linux.zip
unzip SE3518Linux.zip

I did not bother with setting a Desktop file with icons and the like, although this could be done easily enough I suspect. A double click on the file $HOME/bin/SubtitleEdit.exe opened up the application well enough as you can see from the screenshot below:

Hopefully this will work as easily on your own system...


Trying to switch from Win7 to Ubuntu but boot disc won't work

I think the problem is that the CD you have isn't a bootable disc.
Maybe, you might've simply copied over files from the ISO or the ISO file might've been corrupted or incomplete.

Make sure you download the ISO file from the official page.

Here are instructions on how to make a bootable USB stick for Ubuntu:
http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows

And how to make a bootable DVD for Ubuntu:
http://www.ubuntu.com/download/desktop/burn-a-dvd-on-windows

I have personally tried the method with the USB stick and it works fine. I also recommend it over the DVD method because you may have to throw away the DVD the process of burning doesn't complete properly.


How can I generate thumbnails in advance on KDE / Dolphin?

Introduction

So it turns out that KDE and GNOME now follow slightly different thumbnail naming and metadata conventions. This is quite unfortunate since issues like these were supposed to be eliminated with the work of the Free Standards Group.

I've filed a bug report with KDE that will hopefully get this addressed eventually, but for now thumbnails generated by KDE and GNOME are sadly incompatible with each other.

Thumbnailer script to bridge the KDE/GNOME gap

In order to work around this incompatibility, I ended up modifying the Python script that James Henstridge posted in the Q&A linked to above. The main change I implemented is a function that updates the generated thumbnails to be recognized by KDE (by renaming them and updating the PNG metadata chunk).

Here is the aforementioned script in its current revision:

#!/usr/bin/python3

"""
Thumbnail generator for KDE/GNOME

Largely based on a script by James Henstridge
(https://askubuntu.com/a/201997)

Unfortunately there seems to be some disagreement between GNOME and KDE
towards how to follow the XDG specs for saving thumbnails. This script
is meant as a workaround to that issue, generating thumbnails that follow
both specifications.

Dependencies: python3 gir1.2-gnomedesktop-3.0 python-pillow

pillow can be installed with `pip install pillow`

You will also need to have the corresponding thumbnailers installed (e.g.
evince-thumbnailer). KDE thumbnailers are not supported. All previews are
generated through GNOME's thumbnail factory and then made compatible with KDE.

Further references:

Thumbnail specifications in KDE/GNOME:

- https://bugs.kde.org/show_bug.cgi?id=393015
- https://api.kde.org/frameworks/kio/html/previewjob_8cpp_source.html
- https://lazka.github.io/pgi-docs/GnomeDesktop-3.0/classes/DesktopThumbnailFactory.html

Setting PNG metadata:

- http://pillow.readthedocs.io/en/5.1.x/PIL.html#PIL.PngImagePlugin.PngInfo
- https://stackoverflow.com/a/10552742/1708932

Copyright: (c) 2012 James Henstridge <https://launchpad.net/~jamesh>
           (c) 2018 Glutanimate <https://glutanimate.com/>
License: MIT license
"""

import os
import sys
from hashlib import md5

from PIL import Image
from PIL import PngImagePlugin

import gi
gi.require_version('GnomeDesktop', '3.0')
from gi.repository import Gio, GnomeDesktop

# FIXME: Hardcoding the Thumbnailer to a generic name
#        regardless of MIME type might not always work
KDE_THUMBNAILER = "KDE Thumbnail Generator"

def update_name_and_meta(thumb_path, filename, mtime, mime_type, size):
    print("Making thumb compatible with KDE...")
    abs_path = os.path.abspath(filename)
    # The spaces in our URI are not escaped. This is not in accordance
    # with the URI RFC2396 which is listed in the freedesktop specs,
    # but it's what KDE currently uses
    # (cf.: https://bugs.kde.org/show_bug.cgi?id=393015)
    kde_uri = "file://" + abs_path
    kde_md5 = md5(kde_uri.encode("utf-8")).hexdigest()
    thumb_dir = os.path.dirname(thumb_path)
    kde_thumb_path = os.path.join(thumb_dir, kde_md5 + ".png")

    if os.path.exists(kde_thumb_path):
        print("KDE thumb already exists. Skipping")
        return

    im = Image.open(thumb_path)

    # Set PNG metadata chunk
    meta = PngImagePlugin.PngInfo()
    meta.add_itxt("Software", KDE_THUMBNAILER)
    meta.add_text("Thumb::MTime", str(int(mtime)))
    meta.add_text("Thumb::Mimetype", mime_type)
    meta.add_text("Thumb::Size", str(size))
    meta.add_itxt("Thumb::URI", kde_uri)

    im.save(kde_thumb_path, "png", pnginfo=meta)

    # uncomment this to remove GNOME thumbnails:
    # os.remove(thumb_path)

def make_thumbnail(factory, filename):
    mtime = os.path.getmtime(filename)
    # Use Gio to determine the URI and mime type
    f = Gio.file_new_for_path(filename)
    uri = f.get_uri()
    info = f.query_info(
        'standard::content-type', Gio.FileQueryInfoFlags.NONE, None)
    mime_type = info.get_content_type()
    size = info.get_size()

    if factory.lookup(uri, mtime) is not None:
        print("FRESH       %s" % uri)
        return False

    if not factory.can_thumbnail(uri, mime_type, mtime):
        print("UNSUPPORTED %s" % uri)
        return False

    thumbnail = factory.generate_thumbnail(uri, mime_type)
    if thumbnail is None:
        print("ERROR       %s" % uri)
        return False

    factory.save_thumbnail(thumbnail, uri, mtime)

    thumb_path = factory.lookup(uri, mtime)
    update_name_and_meta(thumb_path, filename, mtime, mime_type, size)

    print("OK          %s" % uri)

    return True

def thumbnail_folder(factory, folder):
    for dirpath, dirnames, filenames in os.walk(folder):
        for filename in filenames:
            make_thumbnail(factory, os.path.join(dirpath, filename))

def main(argv):
    factory = GnomeDesktop.DesktopThumbnailFactory()
    for filename in argv[1:]:
        if os.path.isdir(filename):
            thumbnail_folder(factory, filename)
        else:
            make_thumbnail(factory, filename)

if __name__ == '__main__':
    sys.exit(main(sys.argv))

Installation

Copy and paste the code section above into a new file, choose a fitting name for it (e.g. thumbnailer), and mark it executable.

Dependencies

For the script to work properly you will need to have the python bindings for GNOME installed. The script also depends on Python's pillow library which may be installed via pip.

The following commands should take care of all dependencies:

sudo apt install gir1.2-gnomedesktop-3.0 python3-pip
pip3 install pillow

Thumbnails are first generated through GNOME's thumbnail factory and then made compatible with KDE. So you will still need to have all the corresponding GNOME thumbnailer modules installed. KDE's own thumbnailers are not supported. E.g.: for the script to support generating PDF thumbnails you would have to install evince.

(I would have loved to use KDE's python bindings directly, but it looks like both pykde4 and pykde5 have been abandoned for years).

Usage

The general use is the same as with any other thumbnailing script. Just invoke it with the files or folders where you want to generate thumbnails as arguments, e.g.:

thumbnailer /home/Documents

References

Thumbnail specifications in KDE/GNOME:

https://bugs.kde.org/show_bug.cgi?id=393015
https://api.kde.org/frameworks/kio/html/previewjob_8cpp_source.html
https://lazka.github.io/pgi-docs/GnomeDesktop-3.0/classes/DesktopThumbnailFactory.html

Setting PNG metadata:

http://pillow.readthedocs.io/en/5.1.x/PIL.html#PIL.PngImagePlugin.PngInfo
https://stackoverflow.com/a/10552742/1708932


How to clear all files in a folder ending with `.log`?

Note that OP apparently wants to truncate files. In such case, the desired command is

find /path/to/dir -regextype sed -regex ".*\.log[1-9]*" -exec truncate -s 0 {} \;

Alternatively, in bash

shopt -s globstar
truncate -s 0 **/*.log[1-9]

If you want to clear out any file that has .log in the name

find /path/to/dir -name "*.log*"

If you target .log[digit] specifically, use

find /path/to/dir -regextype sed -regex ".*\.log[1-9]*"

Once you verify either of these two commands find the files you want, append -delete to the command for actual removal


Trouble loading Ubuntu 18.04.2 on new SSD

Please use Boot-Repair, it will definitely solve the issue.
This will reinstall GRUB and add all other OS on the disk.


Is there any file password protection (NTFS)? I want to Hide & prevent of use!

It sounds like you have a file that you need to access, but only after a password has unlocked it, correct?

If so, I would strongly suggest you look at using TrueCrypt - http://www.truecrypt.org/.  You can install it in both Windows and Ubuntu and use the same password to unlock the same file on either system.

The only drawback to your situation is that you specifically state "file password protection" but TrueCrypt creates a volume with the encrypted contents inside the volume.


When creating a new text file, should I add a .txt extension to its name?

It's completely your own decision - don't let anyone chose for you.

If it's a 'reflex' then there's no harm in keeping your current habbits. On the other hand it does look cleaner without file extensions...

In my opinion the main case for using the extension is if you're emailing files to Windows users - whilst they could still open it in Notepad (with File->Open With) they will probably confused if you leave it off.


Make sure your natilus-browser.desktop on /usr/share/applications is good.

Open it with gksu gedit /usr/share/applications/nautilus-browser.desktop and make sure in [Icon] it says «nautilus».


Calculator opens every time I do a left click

We have had long debugging session. All software components were set correctly.

So the output of

gsettings list-recursively | grep mate-calc

was empty. And

gsettings get org.mate.SettingsDaemon.plugins.media-keys calculator

returned

'XF86Calculator'

as expected.

Resetting mouse settings in MATE did not help:

gsettings reset-recursively org.mate.peripherals-mouse
gsettings reset-recursively org.mate.SettingsDaemon.plugins.mouse
dconf reset -f /org/mate/desktop/accessibility/

The Compiz Settings Manager (launched with ccsm command) do not have Button1, Button2 and Button3 mentioned in General → Commands and on Button Bindings tab.

But xev output was weird, it did not show ButtonPress and ButtonRelease as reaction on press and release of mouse buttons.

So it was a hardware issue.


Two ways how you can modify screen resolution:

try to force resolution via xrandr command
try to modify etc/X11/xorg.conf to fulfill your needs.

Try to paste here result of xrandr and content of xorg.conf and the NTB specification here or result of lspci | grep VGA command, so we can better help you.


I have an HD 5450 card with dual monitors.  Using the displays setting dialog will only work with the default open-source driver, which works pretty well for most things, although probably not for games.

If you use the added proprietary driver, then you need to use the AMD catalyst settings app - the one with administrative privileges is the only one that will change settings.  This app should be installed, and you can search for it in the applications.


To solve your problem install the latest current stable short-lived branch  NVIDIA drivers 355.

First uninstall every NVIDIA related software you have had installed before.

Boot into Ubuntu and when the login screen appears press Ctrl+Alt+F1.

Enter your user name and password and then execute:

sudo apt-get purge nvidia*
sudo reboot

If you had bumblebee installed remove the packages as well
(the switching capability will be replaced by nvidia-prime).

In this case the commands would be:

sudo apt-get purge nvidia* bumblebee
sudo reboot

Now install the new drivers and NVIDIA Optimus support from the Proprietary GPU drivers PPA.

When the login screen appears press Ctrl + Alt + F1.

Enter your user name and password and then execute:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo reboot

In case you have to adjust which card to use in BIOS select NVIDIA or  switchable graphics mode.

Open NVIDIA X Server Settings -> Prime Profiles to switch between the intel and NVIDIA GPUs.


How to "switch user" under KDE without locking the current session?

If you are using kde 4.9 In the System Settings (systemsettings), in the Hardware section, under Power Management, the Advanced Settings section has a checkbox for "Lock screen on resume" Remove the tick mark and hopefully the problem will be solved.

If you are using kde 4.5.3 Go into System Settings, and in System Administration at the bottom, select Login Screen. From there, go to the Convenience tab and enable passwordless logins for all the users on the system. Do not enable an autologin for any user. Then when you switch users, it should not ask for a password.

Hope this helps...


Is it possible to recover data after reinstalling ubuntu on same drive

That sounds really unlucky, are you sure it's gone? Maybe check the partitions with "disks"?
If it's really gone try this: http://www.cgsecurity.org/wiki/PhotoRec

From the Photorec webiste:

  PhotoRec is file data recovery software designed to recover lost files
  including video, documents and archives from hard disks, CD-ROMs, and
  lost pictures (thus the Photo Recovery name) from digital camera
  memory. PhotoRec ignores the file system and goes after the underlying
  data, so it will still work even if your media's file system has been
  severely damaged or reformatted.

This has allowed to get deleted files back on several occasions, though I have never tried it from a formatted partition drive. Hope this helps!


You have to run apt install -f from elevated privileges... You can accomplish this by using a root shell by running sudo in front of apt install -f. This should promptly fix your issue, leave a comment if any more problems occur.


Installing new HDDs in RAID1 on existing Ubuntu Server 14.04.5 LTS system

To answer my own question, I went with second scenario and made it as safe as possible:

I've installed first new HDD and cloned system partitions AND all data to it using Acronis Disk Director. That was the easiest and quickest part.
Booted from it and set up mdadm, changed partition types to Linux raid (fd).
Connected second new drive, copied partitions layout with sgdisk, rsynced all data from first drive. It literally took ages (like few days per partition on my Atom-powered box). I did this because no guide indicated it is possible to clone everything directly and I decided not to risk.
Changed partition types on HDD #2 to Linux raid, re-assembled GRUB.

The whole project took few weeks in general, but the system eventually was set up and working as expected. I wiped my old drives only then, and strongly advise you to do the same. There were a lot of problems along the way of configuration, but here are blog posts and articles that helped me the most:

Configuring Software RAID1 after installation of Ubuntu 16
Setting up RAID on an existing Debian/Ubuntu installation
How To Set Up Software RAID1 On A Running System (Incl. GRUB2 Configuration) (Ubuntu 10.04)


Will the upcoming "Gnomebuntu" be an official variant?

The upcoming 12.10 release of "Gnomebuntu" will NOT be official, only a "community release".
But according to "Gnomebuntu's" lead packager/developer Jeremy Bicha, the goal is to eventually "be an official recognized flavor."

No timeline is given, but we can hope this will happen by Ubuntu 13.04!

In the meanwhile, the "official" source for all things "Gnomebuntu" is this Ubuntu Forums thread.

As of 13.04 Ubuntu Gnome Remix is now an official Ubuntu derivative under the name "Ubuntu GNOME".


How do I get nohup to execute [double-]quoted inner commands?

nohup isn't expecting any quotes. It doesn't know how to deal with them.
The command you want is simply:

nohup watch -n 1 'echo test'

In this case you could even go without the inner quotes:

nohup watch -n 1 echo test

Just be conscious of how nohup works though. It redirects all output in quite a raw way. You won't be able to monitor the output of watch in quite the same way.


How can I install software without using dpkg or APT?

Ubuntu, being a Debian derivative, is solidy built on APT. dpkg, apt-get, the Ubuntu Software Centre and PPAs all depend on APT to work correctly.

Having said that, you can install programs from source, bypassing APT. Have a look at this question for how to do it: How do I install a .tar.gz (or .tar.bz2) file?

In your case, I would not recommend this. I would concentrate on trying to fix the broken catalogue. APT is much superior and easier to use than installing directly from source packages, and you are much more likely to have success fixing APT's problems than you are fixing problems with source installations.

See this question for a summary of the differences between APT and installing straight from source: Should I install programs from a source tarball (`.tar.gz`), from the Ubuntu Software Centre, or from elsewhere?


VSFTPD can't download file just after uploading it

If you uploaded as anonymous, then it works as designed: to prevent people from sharing files anonymously and get you into trouble in case of anny illegal activity envolved.

The ideas ist that people upload and YOU check the files, then drop them or move them to a public directory and make them accessable to everybody of your users, or the entire internet if you wish.

Your local_umask applies to local users only, so it doesn't apply to anonymous uploads.

In case you uploaded as locally authenticated user, I've missed your confiuration error.


unable to connect to internet through lan

I think you want to use your wireless connection while you are connected to the local lan.

The problem is, when you connect to both, wlan AND lan, the networkmanager sets one default route, normally the one from the local lan. What you have to do is deleting the default route of you local lan, and adding the default route of your wlan device. You can find this out which default route is set by typing:

route -n

it shows you something like this:

0.0.0.0         10.16.0.1       0.0.0.0         UG    0      0        0 eth0
10.16.0.0       0.0.0.0         255.255.0.0     U     1      0        0 eth0
192.168.20.0    0.0.0.0         255.255.255.0   U     2      0        0 wlan0

as you can see my default route leads through 10.16.0.1.

deleting default route (in my case):

route del default gw 10.16.0.1

adding default route to the wlan connection (in my case):

route add default gw 192.168.20.1

after all it should look like this (in my case):

0.0.0.0         192.168.20.1    0.0.0.0         UG    0      0        0 wlan0
10.16.0.0       0.0.0.0         255.255.0.0     U     1      0        0 eth0
192.168.20.0    0.0.0.0         255.255.255.0   U     2      0        0 wlan0


public IP and ifconfig ip are different: how to connect my computer to internet

Please Read RFC 1918 - Address Allocation For Private Internets, specifically Part 3.

Quoting:

  Private Address Space

  The Internet Assigned Numbers Authority (IANA) has reserved the
  following three blocks of the IP address space for private internets:

 10.0.0.0        -   10.255.255.255  (10/8 prefix)
 172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
 192.168.0.0     -   192.168.255.255 (192.168/16 prefix)

  We will refer to the first block as "24-bit block", the second as
  "20-bit block", and to the third as "16-bit" block. Note that (in
  pre-CIDR notation) the first block is nothing but a single class A
  network number, while the second block is a set of 16 contiguous
  class B network numbers, and third block is a set of 256 contiguous
  class C network numbers.

  An enterprise that decides to use IP addresses out of the address
  space defined in this document can do so without any coordination
  with IANA or an Internet registry. The address space can thus be used by many          > enterprises. Addresses within this private  address space will
  only be unique within the enterprise, or the set of enterprises which
  choose to cooperate over this space so they may communicate with each
  other in their own private internet.

  As before, any enterprise that needs globally unique address space
  is required to obtain such addresses from an Internet registry. An
  enterprise that requests IP addresses for its external connectivity
  will never be assigned addresses from the blocks defined above.

  In order to use private address space, an enterprise needs to
  determine which hosts do not need to have network layer connectivity
  outside the enterprise in the foreseeable future and thus could be
  classified as private. Such hosts will use the private address space
  defined above.  Private hosts can communicate with all other hosts
  inside the enterprise, both public and private. However, they cannot
  have IP connectivity to any host outside of the enterprise. While not
  having external (outside of the enterprise) IP connectivity private
  hosts can still have access to external services via mediating
  gateways (e.g., application layer gateways).

  All other hosts will be public and will use globally unique address
  space assigned by an Internet Registry. Public hosts can communicate
  with other hosts inside the enterprise both public and private and
  can have IP connectivity to public hosts outside the enterprise.
  Public hosts do not have connectivity to private hosts of other
  enterprises.

Explanation

Your Internet Connection is divided logically into two parts:

The LAN - Local Area Network
The WAN - Wide Area Network

The LAN is managed by your router, and the WAN is managed by your ISP, who is a LAN themselves connected to a WAN, and ALL ISP's are like a railroad or highway.  The end of every ISP's highway ends by merging onto a backbone.  A backbone is the logical section of the Internet where traffic travels at a high rate of throughput.

How This all Works - NAT in Layman's Terms

According to RFC 1631 - Network Address Translation, NAT was created to bridge the GAP between a LAN and a WAN.  Imagine the following:

You and I are two Medieval Kings in Neighboring Castles, separated by a Cobblestone Road.  We're nice Kings, but we follow strict security standards because the other kingdoms don't like us.  Each of us has a knight standing at our drawbridge.  If I want to talk to you I give my knight my information, and he travels down the road to your knight.  My knight gives your knight my information, and your knight carries it to you.

Given that story, my castle is my LAN, and your castle is Your LAN.  As kings, we each have a Private IP Address given to us by our Routers(Knights).  In order for me to talk to you, I  must tell my knight I need him to travel on the highway.  Our knights are smart.  They take the Private IP Address and stick it in one of their pockets, and exchange it with the Public IP Address in their other Pocket.  While traveling on the road(Internet), the knights only carry the Public IP Address.  When my knight returns from your castle, he switches pockets again, and exchanges the Public IP Address for the private one that he hid in his pocket, and gives me the information I requested from you without telling me the Public IP Address.

The Exchanging of Private IP's for Public Ones in the knight's pockets, and vice-versa is NAT.  The knight keeping track of the IP Addresses he gave the kings is DHCP.  When we add townsfolk, each person in town connected to the castle is given an IP address by the knight.  When the peasants need information from other peasants in the other kingdom the knight must travel the cobblestone road for them too.  When 2 peasants in the same castle need to exchange information, they still go to the knight, but the knight doesn't travel on the road, he travels within the castle as he knows the Private IP Address of every peasant.

In answer to your question above, WhatIsMyIP is giving you the IP Address, that the knight uses when he travels on the road between my castle and yours(WAN).  As such, I can use that information to find out which "castle" you live in.

The castle you were living in when you wrote this post was:
The Technical University of Dortmund in North Rhine-Westphalia, Germany

IP Location Finder

Update
You need to contact your ISP and ask them if your equipment is configured correctly.  Normally, you do not receive a Class A (10.x.x.x Address, because this address is non- routable according to the RFC from earlier) from an ISP unless IP sharing among customer LAN segments is occurring.  This saves the ISP money because they don't have to spend money on buying routable IP Addresses.  In my Analogy, the knight in your castle must go to another knight in a bigger Castle, and the knight from the bigger castle travels the road(Internet).  This method allows multiple knights to share one road traveling knight for many castles.  In the US, ISP's use one knight per every LAN.  In short ask your ISP if the 10. Address is legal before setting up SSH.  If so, you must set up SSH as a double pass.

Forward all traffic from your WAN IP Address Port 22, 129.217.129.129:22 to your Primary ISP Address of 10.1.10.149, and then:
Forward all Traffic from 10.1.10.149:22 to your LAN IP Address of 192.168.1.4

On most Consumer Services setting up a Webserver this way is against the AUP/TOS, but since your ISP is a University, the rules may be different.  If your ISP tells you that IP Address of 10.x.x.x is incorrect have them help you fix it properly.  If you tell them you're setting up a home webserver to access remotely and they say it's against policy, use a service like DynDNS.  Last but not least, remember that since all these IP Addresses are Dynamic, you must redo the setup each time each IP Address in your setup changes.


basel-real exists, but when I run basel, it said "No such file or directory"

As I cannot reproduce your problem on Trusty Tahr, and in fact I have installed bazel with absolutely no issue, I will give here the steps I took to produce a working copy. Hopefully in reading this you may see where you may have gone wrong...

Prerequisites:

bazel is officially supported on Trusty Tahr and Wily Werewolf only at the moment and prerequisites are slightly different for each:

On Trusty Tahr OpenJDK 8 is not available and can be installed from this PPA:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

On Wily Werewolf you will need the following:

sudo apt-get install openjdk-8-jdk pkg-config zip g++ zlib1g-dev unzip

Note that I have tested on Trusty Tahr only...

Building:

Then for either Ubuntu release create a build directory and download the install file to it:

mkdir $HOME/Desktop/bazel_build && cd $HOME/Desktop/bazel_build
wget https://github.com/bazelbuild/bazel/releases/download/0.2.0/bazel-0.2.0-installer-linux-x86_64.sh

Set the permissions and then install to the default /usr/local:

chmod +x bazel-0.2.0-installer-linux-x86_64.sh
sudo ./bazel-0.2.0-installer-linux-x86_64.sh

Testing:

And then run bazel as follows:

andrew@corinth:~$ /usr/local/bin/bazel version
Build label: 0.2.0
Build target: bazel-out/local_linux-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Feb 23 13:08:29 2016 (1456232909)
Build timestamp: 1456232909
Build timestamp as int: 1456232909

Hopefully you can see any shortcomings in your own build when observing this trouble free installation...

References:

Installing Bazel


Enable Recent files icon in the sidebar of File explorer

Go to "System Settings" and choose "Security and Privacy" go to "files & applications" tab and turn "Record file and application usage" on.

As an alternative in nautilus (file manager), press Ctrl+L so you can enter "Addresss/Path", then type in: recent:/// and press enter. It should show the recent files.

Then press Ctrl+D to bookmark this into your nautilus sidebar.


Make sure that  md5sum of ubuntu 12.04.iso file you downloaded, is mached or not, If not than the iso file which you are using  is corrupted.


Have you tried this:

cron /home/redline/sinatra-aggregator/server.rb
cron restart

and it might work fine this way.


How can I set mac address using the command line in Ubuntu 16.04?

You could use nmcli to temporarily change your mac address:

nmcli connection modify --temporary <connection_name> 802-11-wireless.cloned-mac-address 00:60:1B:EB:F8:73
nmcli connection up <connection_name>


cannot delete file from nautilus on NTFS

I do not have a professional answer but the only recommendations I could give you are the following:
Disable Num Lock and try again, may be a problem in your keyboard.
Also try Shift + Del keys and see what happens.

The second answer is more meaningful: you gave root permission in what OS? I you are running Linux and permissions were given by windows there will be a problem. I use a notebook with dual boot Win10 and Ubuntu but I could not delete a Windows file from Linux with the file manager and I could do this under the terminal.

At last, whether you gave root permissions under Linux you can execute this command.
sudo chown -R $USER:$USER /media/your_external_hard_drive. $USER is your username under Linux.This command gave delete permissions from the file manager in your external hard drive.

This link will be useful whether you want to mount the external hard disk anytime.
https://help.ubuntu.com/community/MountingWindowsPartitions

Regards,


How to remove lines from the text file containing specific words through terminal?

grep approach

To create a copy of the file without lines matching "cat" or "rat", one can use grep in reverse (-v) and with the whole-word option (-w).

grep -vwE "(cat|rat)" sourcefile > destinationfile

The whole-word option makes sure it won't match cats or grateful for example. Output redirection of your shell is used (>) to write it to a new file. We need the -E option to enable the extended regular expressions for the (one|other) syntax.

sed approach

Alternatively, to remove the lines in-place one can use sed -i:

sed -i "/\b\(cat\|rat\)\b/d" filename

The \b sets word boundaries and the d operation deletes the line matching the expression between the forward slashes. cat and rat are both being matched by the (one|other) syntax we apparently need to escape with backslashes.

Tip: use sed without the -i operator to test the output of the command before overwriting the file.

(Based on Sed - Delete a line containing a specific string)


Run in terminal

sudo apt-get install exfat-fuse exfat-utils

and it will work.


Encrypted windows partition with ubuntu / Grub configuration

To answer your question in a simple way, yes.

  If your system partition or system drive is encrypted using TrueCrypt,
  you need to enter your pre-boot authentication password in the
  TrueCrypt Boot Loader screen after you turn on or restart your
  computer. It may happen that you are forced by somebody to decrypt the
  operating system or to reveal the pre-boot authentication password.
  There are many situations where you cannot refuse to do so (for
  example, due to extortion). TrueCrypt allows you to create a hidden
  operating system whose existence should be impossible to prove
  (provided that certain guidelines are followed — see below). Thus, you
  will not have to decrypt or reveal the password for the hidden
  operating system. See here and here.

  In order to boot a system encrypted by TrueCrypt, an unencrypted copy
  of the TrueCrypt Boot Loader has to be stored on the system drive or
  on a TrueCrypt Rescue Disk. Hence, the mere presence of the TrueCrypt
  Boot Loader can indicate that there is a system encrypted by TrueCrypt
  on the computer.

Source: redobackup.org


Try to make your bootable device with others programs (Etcher for example)


The program alarm-clock-applet can be built without indicator support, as indicated on the project page:

http://alarm-clock.pseudoberries.com/

instead of ./configure use ./configure --disable-indicator.

It solves my problem, but not the general question.
Thanks.


parted rescue - how to discover start\end for deleted partition

I would recommend testdisk to discover broken partition table http://www.cgsecurity.org/wiki/TestDisk


Large log files and then some more problems

This is officially solved. The answer was so simple, and yet, I stupidly removed wine and my gamesave in order to regain some disk space to allow Ubuntu to load properly. (I feared that I messed up folder ownership and that user files were saved in root folder).

So... When inserting f.e. a USB into a Linux powered machine, and deleting something on the said USB, Linux creates a folder called Trash1000, where the "deleted" files go.

Apparently, when using sudo Nautilus and deleting something from / folder, it doesn't delete it... it creates a folder Trash-0. A hidden folder - as is on USB. So when I "deleted" my gigantic syslogs, it just moved them to this fabulous folder Trash-0, which doesn't show up anywhere - not in disk analyzer, not in du command, not in bleachbit. It was pure despair why I typed in "ls -a" in terminal.

And instead of emptying Trash-0 on reboot or sth similar, it decided to force in deleted items up to the last byte, using up all the root folder and disabling Ubuntu from loading. Why?

TEST: I decided to recreate the whole thing just to test it. In terminal I created 2 folders, test1 and test2. When removing test1 by "rm -r", no Trash-0 was generated. When removing test2 by sudo nautilus, it generated Trash-0 folder. Never use sudo nautilus! :)


Best practices for keeping EC2 Ubuntu machines updated

The unattended-upgrades package is the standard way to automatically apply important bug fixes and security patches in Ubuntu.

I recommend installing this on every Ubuntu system:

sudo apt-get update &&
sudo apt-get install unattended-upgrades

You don't need to create your own cron job. The package installs one for you.

You can edit the default configuration if you'd like to alter its behavior:
https://help.ubuntu.com/lts/serverguide/automatic-updates.html


Do I need to disable Windows Fast Startup if Ubuntu is installed on a separate drive?

For proper dual boot of Ubuntu (or any Linux) and Windows 8/8.1/10, the now default Windows fastboot should be disabled. The os-prober usually fails to recognize Windows.

Considering that you won't be mounting the Windows system partition for use in Ubuntu (best practice) but you may have a separated NTFS data partition shared for both OSes (also a best practice), then Windows with the default behavior will hibernate the said partition as well, therefore it's recommended to disable fastboot in any dual boot scenario.


Ubuntu 14.04 Server + Nginx + stub_status module

Now stub status is used to determine the health of nginx via a status page. To use it your nginx must have been compiled with  HttpStubStatusModule module. To check if it was run this in the console:

nginx -V 2>&1 | grep -o with-http_stub_status_module

and if you get this output:

with-http_stub_status_module

then its installed.

Setup based on nginx status:

Installed:

create this file: /etc/nginx-sp/vhosts.d/APPNAME.d/nginx_status.conf
add this:

location /nginx_status {
  stub_status on;
  access_log   off;
  allow 1.1.1.1; <--- [your machine IP address]
  deny all;
}

reload nginx : sudo service nginx-sp restart
visit: http://example.com/nginx_status

you should see an output like this:

Active connections: 43
server accepts handled requests
 7368 7368 10993
Reading: 0 Writing: 5 Waiting: 38

interpretation:

Active connections – Number of all open connections. This doesn’t mean number of users. A single user, for a single pageview can open many concurrent connections to your server.
Server accepts handled requests – This shows three values.

First is total accepted connections.
Second is total handled connections. Usually first 2 values are same.
Third value is number of and handles requests. This is usually greater than second value.
Dividing third-value by second-one will give you number of requests per connection handled by Nginx. In above example, 10993/7368, 1.49 requests per connections.
Reading – nginx reads request header
Writing – nginx reads request body, processes request, or writes response to a client
Waiting – keep-alive connections, actually it is active – (reading + writing).

Not installed:

There are two options in installing

from launchpad:

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx

from nginx package in Ubuntu repo:

sudo apt-get install nginx-full

Then follow steps in (1) above.

Sources:

Enabling nginx

Installing nginx

Extra reading


A significant factor is this:

seetha:Infra, <MAC 'seetha' [AC1]>, Freq 2462 MHz, Rate 54 Mb/s, Strength 52 WEP

Wireless encryption using WEP is not only difficult to connect to, but also quite insecure. WPA2-AES is preferred; not any WPA and WPA2 mixed mode and certainly not TKIP. Second, if your router is capable of N speeds, you may have better connectivity with a channel width of 20 MHz in the 2.4 GHz band instead of automatic 20/40 MHz, although it is likely to affect N speeds. I also have better luck with a fixed channel, either 1, 6 or 11, rather than automatic channel selection. Also, be certain the router is not set to use N speeds only; auto B, G and N is preferred. After making these changes, reboot the router.

Next, I recommend that your regulatory domain be set explicitly. Check yours:

sudo iw reg get

If you get 00, that is a one-size-maybe-fits-all setting. Find yours here: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Then set it temporarily:

sudo iw reg set IS

Of course, substitute your country code if not Iceland. Set it permanently:

gksudo gedit /etc/default/crda

Use nano or kate or leafpad if you don't have the text editor gedit. Change the last line to read:

REGDOMAIN=IS

Proofread carefully, save and close the text editor.

Next, I'd set IPv6 to Ignore in Network Manager: http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/images/netconfig/network-connections-ipv6-ignore.png  This example is for ethernet, but you want wireless.


A partition is necessary before installing ubuntu on windows 7?

in short: YES

you need to make another partition to install Ubuntu.
You can use a live disk with partition magic to safely* create an extra partition.

*as long as you defragment your drive to only use the start/end of the drive and don't resize it past the point where you have data stored.


Use the -i flag if you run the resize-command with the window's id

Looking at your Youtube movie, it occurred to me that you are using the command:

wmctrl -r <window_id> -e 0,0,0,1280,720

You can use the command like that when you use a windowname as identifictaion. If you however use the window-id, looking like 0x02c00042, you need to use the -i flag to make it work.

The command should then be:

wmctrl -ir <window_id> -e 0,0,0,1280,720

Why didn't the command work using the window name

In the same movie, you first tried with the command:

wmctrl -r <window_name> -e 0,0,0,1280,720

The command actually did work...

...but not on the window you were targeting at. If you look closely into the window list, there is another window with the string Minecraft in its name: ~/Documents/Minecraft. This window is higher up in the list, and minimized.

The command wmctrl -r <window_name> -e 0,0,0,1280,720 does resize that window, but since it is still minimized, you didn't notice the difference. The command does not change a window's state from minimized to normal.


It is very easy to use proxychains to run program through proxy.

https://github.com/clowwindy/shadowsocks/wiki/Using-Shadowsocks-with-Command-Line-Tools


First, find your architecture:

arch

You will probably find either x86_64; that is, 64-bit, or else i386; that is, 32-bit. If it is otherwise, post back and we'll advise.

Go here to download the kernel packages: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.9-wily/

If yours is, as I suspect, a 64-bit system, download to your desktop linux-headers-generic-xx-amd64.deb, linux-headers-xx-all.deb and linux-image-xx-amd64.deb.

Now install them from the terminal with:

sudo dpkg -i ~/Desktop/linux*.deb

After a reboot, confirm you are running the new 4.0-xx kernel:

uname -r

It ought to return: 4.0.9-040009-generic.

Load the presumed driver:

sudo modprobe brcmfmac

Check the log for messages:

dmesg | grep brcm


Did you try to install it following the Youtube tutorial? Then you might have disabled some file permissions and Nautilus options.

Open Nautilus. Go with your mouse to upside panel, which should show main menu, in this case only "Files"-option. Open preferences (or something like that). Second tab, Behaviour. In "Executable text files" mark "Ask..." - Close.

Go to unpacked Emulator-archive - Tools - Rightclick on Android - Permissions - Mark "Allow run file as program" if it is not marked. Close.

Then double click on Android and select "Run in terminal".


cant run executables in ubuntu mate 14.04

When running from the terminal, insure that what you want to run is on your path, if not, insure that it's in the folder you are in by issuing the command ls programname and if it does exist there you can launch it with ./programname


I had the same problem. Going to the google app permission page (https://security.google.com/settings/security/permissions) and deleting potentially conflicting entries (there were two for "Ubuntu") and re-doing the registration process eventually got things working again.


Can't open Evolution CouchDB address book

This was solved several weeks after this post (It is mentioned in the link you provided). My recommendation is:

Update 10.10
Upgrade to a new release

This is since the link mentioned by you did not work (Does not work for some people)


It was the network after all. I had stretched and bent the freaking network cable in such a way that the autonegotiation made the network speed 10Mb/s, half duplex. This I discovered with ethtool eth0.

The apparent stops I think must have been due to some buffering somewhere. When I looked closer it appeard that the copying was just really slow. I looked closer by enabling nfs logging to syslog with sudo sysctl -w sunrpc.nfs_debug=1023.

How about that?


WINE Doesn't Find the Font from /home/user/.fonts?

Actually, wine software uses different font resource that may not available in system font or user font. and the game/software that you trying to run may have a different font that wine doesn't have in its resource folder if possible try to change your wine font or

if the game/software that you trying to run have a Microsoft font the consider running

sudo apt-get install msttcorefonts

or copy the font manually to ~./wine/windows/fonts


Non techy person looking for advice on how to watch DVD on Ubuntu laptop

Assuming you have a recent version of Ubuntu, it's pretty easy to install the required software.

Just open a terminal window and type:

sudo apt install libdvd-pkg

Type your password when prompted (there will be no feedback), accept the default answers to any text mode prompts you get by using the tab and enter keys.  When it completes, type

sudo dpkg-reconfigure libdvd-pkg

Accept the default answers to any text mode prompts you get by using the tab and enter keys.

Then reboot (not totally sure this is required but it won't hurt) and your DVDs should play.


In the menu, Edit->Preferences, and then the extension tab, you need to turn off the old notification area and application indicator extensions (if they're on) and turn on 2 extensions, MPRIS Support and Sound Menu Integration:


I have the same issue.  I have a HTC U11.  It mounts fine on my laptop with 16.04 but not on my other laptop 17.10.  I notice on 17.10 the /etc/udev/rules.d folder is completely empty.

~$ mtp-detect
libmtp version: 1.1.13

Listing raw device(s)
Device 0 (VID=0bb4 and PID=0c93) is a HTC EVO 4G LTE/One V (ID1).
   Found 1 device(s):
   HTC: EVO 4G LTE/One V (ID1) (0bb4:0c93) @ bus 1, dev 12
Attempting to connect device(s)
PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device

I put the phone into Developer mode and turned on USB Debugging and that got mtp-detect to go a little further:

~$ mtp-detect
libmtp version: 1.1.13

Listing raw device(s)
Device 0 (VID=0bb4 and PID=0f87) is a HTC HTC One (MTP+ADB+?).
   Found 1 device(s):
   HTC: HTC One (MTP+ADB+?) (0bb4:0f87) @ bus 1, dev 15
Attempting to connect device(s)
PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device

LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0
OK.

But it still won't connect.

Edit:
My issue turned out to be that Calibre was running (ebook reader) and trying to hijack management of my phone.  If I kill Calibre I can connect with no issues.


CAC Card Digital signatures in LibreOffice

LibreOffice supports use of Digital Signature. There's a step by step guide on how to do that here. Take a look.


If you have a backup (you do have backups, right?) you can sudo mv /*backup*/usr/share/icons/yaru /usr/share/icons/yaru or/and do the same but substitute icons for themes


Wacom Co.,Ltd. Intuos BT M stopped working corectly

I had the same problem on Ubuntu 18.04.5. When I issued xsetwacom --list devices un Ubuntu 18.04.4 I always got
Wacom Intuos S Pad pad              id: 13  type: PAD
Wacom Intuos S Pen stylus           id: 15  type: STYLUS
Wacom Intuos S Pen eraser           id: 16  type: ERASER
Wacom Intuos S Pen cursor           id: 17  type: CURSOR

and everything worked fine. After updating to Ubuntu 18.04.5 and a restart, I only saw two entries after issuing xsetwacom --list devices
Wacom Intuos S Pen stylus           id: 15  type: STYLUS
Wacom Intuos S Pen eraser           id: 16  type: ERASER

and the tablet/stylos went haywire, i.e., random button presses, only a fourth of the tablet space working, etc.
I found some hints here in this earlier solution: WACOM Intuos not working on Ubuntu 18.04
What solved it for me was this tip from the solution above: "...you need to make it come to normal mode by pressing the first and fourth buttons simultaneously for around ten seconds. You can simultaneously check the state of xsetwacom --list devices when you are still pressing those buttons."
After I did this and issued xsetwacom --list devices I got the familiar four entries back and everything seems to work normal again on Ubuntu 18.04.5
Wacom Intuos S Pad pad              id: 13  type: PAD
Wacom Intuos S Pen stylus           id: 15  type: STYLUS
Wacom Intuos S Pen eraser           id: 16  type: ERASER
Wacom Intuos S Pen cursor           id: 17  type: CURSOR

Good luck.


You could try the linux alternative called gtkpod for your ipod, it's in the software centre...


Show present windows shortcut does not work on Kubuntu 19.04

Present Windows is a desktop effect. For it, and certain other desktop effects, to work, compositing needs to be enabled. You can check the status by opening a terminal and running:

qdbus org.kde.KWin /KWin supportInformation | grep -i composit

You may see something like this as the output:

Composite: yes; Version: 0x4
compositingMode: 1
useCompositing: true
compositingInitialized: true
windowsBlockCompositing: true
Compositing
Compositing is active
Compositing Type: OpenGL

You can toggle compositing on and off using Shift+Alt+F12.

Alternatively, use the GUI to ensure that compositing is turned on when the system starts:


Bash script to find the specific files in the folder and show the sizes

From man find

-maxdepth levels
          Descend  at  most  levels  (a  non-negative  integer)  levels  of directories below the starting-points.
          -maxdepth 0
           means only apply the tests and actions to the starting-points themselves.

Try

find . -maxdepth 0 -name "[^\/]+$" $u".js" -exec du -sh {} \;

I rarely use find with -exec (because I always forget about it) so I apologize if this is wrong


Open a Terminal window ans type:

sudo apt-get installhplip-gui .

A nice HP Utility will appear in the main menu. It's a graphical interface for hplip with many useful options, like printing booklet or 'normal' mode.


Error while installing Ubuntu Server 20.04 (Initramfs unpacking failed: no cpio magic)

Just in case you didn't resolve it and/or anyone else is wondering - I was having the same issue with Server 20.04 when I was running 512MB of RAM in an old Lenovo desktop (oldest AMD64 machine I've ever seen - had to disable APIC & LAPIC). Taking out the 512MB and dropping in 2GB of RAM solved the issue and doesn't crash the installer with a kernel panic.
Classic case of a not-so-helpful (although probably accurate) error message. Hope this helps!


Can't change permissions on USB or System Hard Drives in Ubuntu 12.04

didn't it asks for password? Open terminal and run gksu pysdm.

A detailed guide is here → http://ubuntuforums.org/showthread.php?t=872197


If you download the latest version from the official website and then install it using the default package installer

apt install ./master-pdf-editor-x.xx.x_qt5.amd64.deb

your application purge the older and updates to the newer one.


How to upgrade nginx to mainline version from stable version?

You are probably trying to use the nginx upstream source repositories.  Unfortunately, those packages won't work if you're just trying to upgrade the packages and get the same things as Ubuntu/Debian have.

The NGINX team (or rather, myself more or less) maintains a PPA of the Mainline branch of nginx and uses the Debian package as a base for the packaging.  That PPA is located here.  You can add it with sudo add-apt-repository ppa:nginx/development and you should then be able to just do sudo apt-get update; sudo apt-get upgrade and it'd be upgraded to the Mainline version in the Mainline PPA.

The installation errors you're getting are because the packages in Ubuntu don't like the Upstream packages as they are not packaged the same way and have conflicted with each other in the past.  By sticking to the PPAs instead of the upstream nginx.org repositories, you will not run into this upgrade failure.


Uninstalling MATLAB from laptop, how to get rid of launcher icon?

Doesn't going to /usr/share/icons and deleting matlab.png and going to usr/share/applications/ and deleting matlab.desktop work?


How to make Hyper tread on in Ubuntu 15 linux

If you want to run N concurrent jobs, where N is a number > 0, use:

make -j N

For example, for 4 concurrent jobs, use:

make -j 4

If you want to build so you have the same number of jobs as CPUs, use:

make -j $(nprocs)

You can also specify an "infinite" number (that is, maximized parallel jobs, which is not advised since it will spawn way too many concurrent jobs to be useful) using:

make -j


How to solve "Extra junk at end of file" when using apt?

The problem was that I wasn't setting up the end of line semicolons for the configuration file. It should look like this:

Acquire::http::proxy  "http://10.0.0.60:3128/";
Acquire::ftp::proxy "http://10.0.0.60:3128/";
Acquire::https::proxy "http://10.0.0.60:3128/";

Reading the man page:

  Each line is of the form APT::Get::Assume-Yes "true";. The quotation marks and trailing semicolon are required.

In case of multiple lines using scopes with curly braces it should looks:

APT {
  Get {
    Assume-Yes "true";
    Fix-Broken "true";
  };
};


Simple software to show and modify GPS tracks

Try Viking - you can download and edit your tracks, and also add OpenStreetMaps, Terraserver or DEM layers. It also allows to have georeferenced map layers and some other features.


Ubuntu 14.10 not available through software updater?

Check again ;)

It is now (@~18:30 UTC 2014) officially released.

Utopic Unicorn has not been released yet.

Wait a couple of minutes, check out the website, stay awake because it's close to happen!


How does installing ca-certificates-(mono/java) affect the certificate store?

I am not completely fluent in the behavior of ca-certificates or of the packages you stated, but I did dig a bit into the packages..
ca-certificates-{mono|java} install different ca-certificates update hooks.  /etc/ca-certificates/update.d/jks-keystore for Java and /etc/ca-certificates/update.d/mono-keystore for Mono.
The Java package repackages all of the existing CA certificates trusted by ca-certificates (including added, trusted certs from manual installation, etc.) into a JKS (Java KeyStore) format for use by Java applications.  It doesn't have any configuration or files added which would generate new certificates, however the 'updates' would be the certs being bundled into JKS format.
The Mono package actually calls Mono's program, certsync.exe:
exec /usr/bin/mono $MONO_OPTIONS /usr/lib/mono/4.5/cert-sync.exe "$@"

This seems to be Mono's mechanism to sync the system ca-certificates store with Mono's keystore, which I think is handled separately from the system ca-certificates store because it's got a .exe format and Windows compat - it might be being rebundled into a Windows compatible cert store for Mono programs.
Regardless, after dissecting the update scripts and what files these packages seem to install, neither package will alter what certs are actually on your system - but all certs being updated and added to a cert store when the new update hooks are applied will happen if those keystores haven't been updated.


How do I set up a logging server for Access Points?

All you have to do is enable log reception via UDP.

In a terminal (Ctrl+Alt+T) run sudo gedit /etc/rsyslog.conf, find the following lines:

# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

and uncomment (remove the leading #) the last 2 lines, so they look like this:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

Save, close the file then restart rsyslog by running sudo service rsyslog restart.

Now you can enable syslog at the AP and point it to your computer IP address. The received log entries should go to /var/log/syslog.


How to display different information on polybar by clicking on one module?

This is not possible for any internal modules. If you want any such functionality, you need to write your own script that produces that information and use a script module.

Note: The date module has this functionality to some extent, but no other module has.


If I uninstall ubuntu, will Windows Boot Manager still be there?

Removing Ubuntu must be done carefully because you might mess up things with booting Windows.

If you simply delete the Ubuntu partition (assuming you have a Windows partition, an Ubuntu partition and a swap partition), Grub will most probably still be there but be messed up, not allowing you to boot Windows.

Look here: http://www.makeuseof.com/tag/how-to-safely-uninstall-ubuntu-in-windows-dual-boot-environment/

In short:

Boot Windows
Delete Linux partitions from within Windows
Restore MBR (to remove Grub and install the Windows bootloader) using bootrec /fixmbr bootrec /fixboot
Recover the space left by the Ubuntu partitions by creating a new NTFS partition or enlarging the Windows partiton.