Revision date: October 29, 2020

TOC

X-Windows

[X-Windows]
  If emulation of the middle button of a mouse doesn't work (ie. pressing
  left and right buttons simultaneously) then you can use xinput to enable
  this feature.  Search uniman.txt for "xinput".

Arch Linux

[Arch Linux]
  Sometimes after an upgrade or change of hardware (or virtual hardware)
  something goes wrong and the system doesn't boot up properly.
  This could be a problem with the initramfs and or grub.cfg files
  (e.g. a root partition's uuid or drive # changed)
  In such a case do as follows:
  Step 1. bring up system with a recent arch iso image.
  Step 2. mount root partition
  $ mount /dev/sdaX /mnt (substitute for X in accordance with your setup)
  Step 3. change into arch root
  $ arch-chroot /mnt
  Step 4. mount /boot
  $ mount /dev/sdaY /boot
  Step 5. update system
  $ pacman -Syu
  Step 6. regenerate initramfs
  $ mkinitcpio -p linux
  Step 7. regenerate grub configuration file (grub.cfg)
  $ grub-mkconfig -o /boot/grub/grub.cfg
  Reboot.

GNOME

[GNOME]
  If running Gnome desktop, and desktop freezes, try the following:
  Press CTRL-ALT F1 - should display login window.

  If that doesn't work then:
  Press CTRL-ALT F3 (up to F12) to put yourself in a virtual console.
  Login in as root.  At the shell prompt type:
  $ top
  Look for processes called "gnome-shell". Its PID should appear on the right.
  Kill the process
  $ kill -9 thePID
  Return to desktop by pressing CTRL-ALT F2

  Middle mouse button is disabled in GNOME in Fedora 28.
  In order to enable it, installed gnome-tweaks
  $ dnf install gnome-tweak-tool
  Launch and select "Keyboard and Mouse" settings.
  Disable "Mouse Emulation" (bottom).
  For middle mouse paste functionality turn on "middle click paste".

Latex

[LATEX]
  - Hebrew fonts recognized by Latex engine but unknown (not displaying) to xdvi
    (e.g. mktexpk: don't know how to create bitmap font for rfrankb.)
    * First thing to try:
    $ sudo mktexlsr # rerecreate database of tex paths
    $ sudo updmap-sys --enable Map=culmus.map # enable font map 
    It could be after an upgrade/update of tex/culmus the latter wasn't
    performed.

    * If this doesn't work, there could be a problem with updmap-sys enabling
    the fonts.
    There were times where I manually copied culmus' map files from a previous
    version to the current version.  In particular the map files in directories:
    /var/lib/texmf/fonts/map/dvips/updmap
    /var/lib/texmf/fonts/map/pdftex/updmap
    followed by
    $ sudo texhash

    * There is also a workaround which manually specifies the map file to use.
    It is described at the end of this subsection in uniman.

    * Another thing that has happened in the past is that the tfm files in
    /usr/share/texlive/texmf-local/texmf-compat/fonts/tfm/public/culmus
    and vf files in
    /usr/share/texlive/texmf-local/texmf-compat/fonts/vf/public/culmus
    were corrupt (they all had the same size and didn't mach previous version).
    Again, I manually copied the contents of these directories from a previous
    version to the current.

    If latex can't find your culmus_font.pfa (type 1 font), then there may be
    an improperly configured link to your culmus fonts directory.
    $ cd /usr/share/texmf/fonts/type1/public
    This should have a link to your culmus directory.
    If the link was improperly configured or is absent, then
    $ sudo ln -s /usr/share/fonts/culmus /usr/share/texmf/fonts/type1/public/culmus

  - Error: /var/lib/texmf/web2c/pdftex/latex.fmt made by different executable version
     (Fatal format file error; I'm stymied)
    For a full discussion see this webpage.
    One of the respondents suggests running (as root)
    $ fmtutil-sys --all
    Note: the above util will place it in /var/lib/texmf/web2c/pdftex
    I think running as user fmtutil --all will place it in
    ~/.texlive/texmf-var/web2c/pdftex
    This should also fix the problem for user, although not for other users.

Network

[NETWORK]
  This section helps diagnose a network that is functioning incorrectly,
  or not functioning at all.
  Since a network operates on a number of levels it is necessary to determine
  at which level lies the fault.
  Therefore, try the following sequence of steps.
  1. Test network connectivity.
     ping 127.0.0.1 (localhost)
     ping 8.8.8.8 (google IP)
     ping www.google.com
  2. If in step 1, ping-ing the loopback interface worked, but not the
     others then proceed as follows:
     A. Check hardware connectivity
       Test to see if cable is connected or not.
       If running a Virtualbox virtual machine, verify the network settings are
       such that the vm is attached to a network (e.g. NAT, bridge).
       (In advanced settings check that cable is connected.  It is possible
       that somehow the "cable connected" box became unchecked).
       Test if router is connected to WAN (wide-area-network).
     B. Check data link connectivity
       * Test if network daemon service is running.
       If using networkd then
       $ systemctl is-active systemd-networkd.service
       If using Network Manager then
       $ systemctl is-active NetworkManager.service
       * Test if network interfaces are up
       $ ip link show
       Can also use
       $ ip address (to show ip addresses)
       Will list network interfaces (ignore loopback interface in list).
       Look for wired connection and/or wireless connection.
       See if state of relevant connection is UNKNOWN/DOWN/UP.
       If DOWN trying bringing up:
       $ ip link set interfacename up
       Check if interface has been brought up
       $ ip link show
       If UNKNOWN check cable connection.
       * Identify network devices (e.g. ethernet cable) and network module
       $ lspci -v
       Look for ethernet and/or wireless devices.
       Look for which kernel driver and module device uses.
       Test if network module is loaded
       $ lsmod | grep devname
       Will display module name if module is loaded.
     C. Check routes
       $ ip route show
       A number of routes may appear, especially if your machine has more
       than one network interface cards (real or virtual).
       An example of a route:
         10.0.5.0/24 dev eth1 proto kernel scope link src 10.0.5.100
       This means that a network packet having IP address 10.0.5.100 should
       send the packet to subnet 10.0.5.0/24 through interface "eth1".
       You should make sure to have a default route.  For example
         default via 10.0.5.150 dev eth1 proto dhcp src 10.0.5.100 metric 1024
       (see man ip-route for more on using ip-route)

  3. If in step 1, ping-ing 8.8.8.8 worked, but not www.google.com
     then the problem is a nameserver problem or DCHP.
     Check if the named (name server daemon is running).

     If the router is using DCHP it should automatically configure
     a nameserver.
     Could edit /etc/resolve.conf to manually set name server.
     To start the DHCP server for a given interface use:
     $ systemctl start dhcpcd@net_interface.service
     where net_interface is the name of your ethernet/wifi interface
     (e.g. eth0, enp0s3)

  4. Firewall - if only selected web sites or services (ports) are
     not responding then it is likely a firewall issue.

Network-VM

[NETWORK-VM]
  - VM fails to connect to network/internet
  When activating firewall in Fedora, issues may arise with communication
  between VM and host, as well as between the VM and internet (which uses NAT).
  Before you suspect the firewall try restarting the NetworkManager.service
  within the VM (or networkd.service if that is your active networking service).

  If you see that no communication is taking place, turn off firewall and see
  if that fixes the problem.
  $ systemctl stop firewalld.service
  Note: Restarting the NetworkManager.service (or networkd.service) in the VM
    may be necessary.

  If that fixes the connectivity issue, then the following changes should be
  made in the firewall (Start with runtime, and if works make permanent).

  Select zone: FedoraWorkstation (default zone)
    Under "Services tab" check "dns"
    Under "Masquerading tab" check "Masquerade zone"
    (this should permit communications between FedoraWorkstation
     and the outside world via NAT)

  In a VM the gateway (/etc/resolv.conf) should be the IP address
  of the virtual bridge created for communicating with the outside
  (NAT).

  Example of virtual bridge interface:
  6: virbr0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
      link/ether 52:54:00:50:8f:2e brd ff:ff:ff:ff:ff:ff
      inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
         valid_lft forever preferred_lft forever

  Even after making the above changes to the firewall settings,
  you may still experience lack of communication when rebooting into VM.
  To resolve, try to restart firewall service on host,
  and on VM restart NetworkManager.
  Reboot and see if networking works.

DHCP

[DHCP]
  If you are running a dhcpd server (e.g. on a router), and computers on the
  network cannot reach you, then its possible the dhcp daemon has failed to run.
  To test its status :
  $ systemctl status dhcpd.service
  If everything is OK you'll get something like
  * dhcpd.service - DHCPv4 Server Daemon
     Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2019-06-14 17:21:00 IDT; 6min ago
  ...

  If the dhcp daemon fails to run, check for reported errors.
  If you get an error such as "multiple interfaces ...",
  make sure you don't have two addresses attached to an interface.
  Use nmcli graphical interface or command line tool to check how
  many ipv4 addresses are associated with your interface.
  $ nmcli c show intern0 # will list all properties for intern0 connection

  - DHCP not initiating properly.
  I have in the past had problems with dhcp initiating properly for a given
  installation.  In which case I've had to enable it manually.
  I first look up the name given to the network interface card (names to network
  interfaces are usually assigned automatically by the OS or by a udev rule)
  $ ip link show
  Say the network interface is named enp0s3, then I enable the dhcpd service
  for that interface card:
  $ systemctl enable dhcpcd@enp0s3.service

  - What if I change network cards and the its name changes?
  (This can happen when converting a virtual machine for use with a different
   hypervisor, or when creating a udev rule to change its name).
  In such a case when the computer boots, it will spend a significant
  amount of time trying to initiate the service dhcpcd@enp0s3.service
  until eventually skipping it.
  In such a situation I would need to disable the dhcp service associated
  with the old network interface.
  Say the new network interface is named "ens0", then:
  $ systemctl disable dhcpcd@enp0s3.service
  Then enable a dhcp service associated with the interface under its new name:
  $ systemctl enable dhcpcd@ens0.service
  (Note, in the new installation it might not be necessary to re-enable dhcpcd
  manually)

SAMBA

[SAMBA]
  - Unable to find suitable address, or Host Unreachable
  If mounting or attempting to access a samba share using smbclient,
  you get the message "Unable to find suitable address."
  Try turning off the firewall on the server and/or client side.
  If that fixes the problem, then configure the firewall to accept
  samba traffic.
  Samba has separate entries for samba-client and samba (server) entries.
  Make sure both are on on server side.
  If using firewall-config tool, make sure you select "permament" mode,
  so that changes will persist accross boots.

  - NT_STATUS_BAD_NETWORK_NAME
  If mounting or attempting to access a samba share using smbclient
  you obtain the message "NT_STATUS_BAD_NETWORK_NAME"
  Try turning off SELinux (setenforce 0) on server side.
  If that fixes the problem, then configure share directory and its
  decendents, as well as its parent directories to type "samba_share_t"
  (see more about that in netman.)

  - NT_STATUS_ACCESS_DENIED
  If you try to list contents of directory using smbclient you get the error
  "NT_STATUS_ACCESS_DENIED listing", then you don't have permissions to read
  that directory.
  This can be resolved by logging in as a different user.
  For instance,
  $ smbclient -U authuser -W mydomain sharename (e.g. //10.0.0.1/myshare)
  will login as authorized user "authuser" on domain "mydomain".

  If mounting share, place a line in /etc/fstab
  //hostaddress/sharename mountdir cifs username=authname,uid=myuid,...
  The option "username" causes samba to login as authname which would be
  a user authorized to access files in that share.
  For instance if user "michael" owns the share directory, then applying
  the options username=michael,uid=myself will log in as michael.
  However, all files in the share will appear on the client side as belonging
  to user "myself".
  So you can read and write files as though the share belongs to you.
  However, the files/directories will be created using michael as the owner
  on the server side.
  This is useful for sharing a virtual machine as noted in section on
  VIRTUALBOX.

  Alternatively, on the server side, the user might not be registered.
  To add user (see netman):
  $ smbpasswd -L -a user_name

  Alternatively, on the server side, SELinux might be preventing the contents of
  the share from being accessed.
  You can easily test if this is the case by temporarily switching off SELinux
  $ setenforce 0
  If this turns out to be the problem see subsection Samba and SELinux in netman.

  - NT_STATUS_HOST_UNREACHABLE
  If you get the above message then your system is unable to ...

  - Permission denied
  If smbclient is able to access the share, or the share is mounted and
  readable.
  However:
  * if using smbclient and received message:
    "NT_STATUS_ACCESS_DENIED opening remote file \anyfile".
    or
  * you have a share mounted and you get a "permission denied" message
    when attempting to create a file or save onto an existing file.
  Then you most probably need to add the following line to the smb.conf file
  (on the server) for each share entry where you are experiencing this problem:
    force user = privileged_user
  where privileged_user is a user who has access to that directory.
  Changing permissions on the server side might also work.

  - protocol negotiation failed: NT_STATUS_CONNECTION_RESET
  This can occur if the server only allows the client to communicate with
  protocol 2 or 3.
  If using smbclient use option -m SMB2 or -m SMB3.
  If using mount, add option to fstab line: vers=2 or vers=2.1 or vers=3
  (see netman for more)

NFS

[NFS]
  - mount.nfs: requested NFS version or transport protocol is not supported
  Usually the NFS version or transport protocol should not be an issue here.
  First see if an NFS server is running on the host.
  $ systemctl is-enabled nfs-server.service
  Second, check if host address is correct (you may have put in the client
  address by mistake.)
  If the address is correct ..

Virtualbox

[VIRTUALBOX]
  * sharing virtual machine between users
  If sharing a virtual machine you will inevitably run into a problem
  whereby Virtualbox writes its files using umask 022 owned by the
  login user with the same group.
  It does not respect the user's or system umask setting.
  A potential solution is to masqerade as the owner of the virtual machine.
  This can be accomplished using samba (and perhaps nfs).
  See netman for more info.

  Another option is to create an alias and correpsonding sudo entry to
  change permission for the virtual machine folder and its contents.
  Also, create an alias to change permissions back to owner.
  The first alias will be invoked prior to starting the VM,
  and the second after stopping it.
  The alias will ovbiously have to invoke sudo, since one user can't change
  the permissions to that of another user.

  * USB on Virtualbox
  - none of the usb devices connected show up on VBox's menu
  Try installing USB extension pack.
  Go to VBox site www.virtualbox.org, select downloads, select extension
  pack with version number as close to the version of your VBox.
  In dialog box select "install" (will be prompted for adminstrator password).
  Also add user to "vboxusers" group.
  Reboot computer, and your USB devices should appear in the menu.

  - USB controller on Win7
  If Windows fails to install Universal Serial Bus (USB) controller driver
  on the virtual machine, check which kind of controller is selected
  in virtual machine's settings.  If its USB3, change it to USB2.
  That should do the trick, and windows will then install the USB controller.

  - USB3 device plugged into USB3 port gives error when virtual machine
  attempts to capture device (VERR_PDM_NO_USB_PORTS).
  Solution: if virtualbox extension pack is not installed, install it.
  Then go to machine settings (while machine is powered off) and set
  radio button "USB 3.0 (xHCI controller)". This should do the job.

  - Ipod/Ipad doesn't connect to Win7 VM
  Make sure USB controller is installed properly (check device manager
  in control panel).
  If not follow steps above.

MLTERM

[MLTERM]
  * Hebrew (UTF8) characters not displaying
  Check if font supports utf8 Hebrew characters (e.g. devjavu sans).
  * Hebrew characters displayed, but cannot type them in.
  This is probably a locale issue.  Try
  $ export LC_ALL="en_US.UTF-8"

Eclipse

[Eclipse]
  * When opening eclipse getting error:
    "Unrecognized VM option 'UseStringDeduplication'"
   If you get this error you probably need to set the default java version to 8.
   In arch linux use the following to get a list of installed java environments:
   $ archlinux-java status
   java-10-openjdk
   java-7-openjdk/jre (default)
   java-8-openjdk
   This shows that java-8 is installed, but it is not the default.
   To set it to the default:
   $ rchlinux-java set java-8-openjdk
   This should do the trick.
   If not installed then install it (see arch wiki on java).

Uncategorized

[UNCATEGORIZED]
  * Very slow in presenting password prompt
  Never solved it.  But problem hasn't come up in many years.

Revision History

********************************************************************************
                              - Revision History -
********************************************************************************
2020_06_17us: Comprehensive editing
2020_10_29us: Minor editing