User:Rpeters

From Info Wiki
Revision as of 07:32, 27 January 2016 by Rpeters (talk | contribs) (PE)

Jump to: navigation, search

Projector

For General Users

First the good news: Virtually any computer having two display outputs can be made to drive two displays (whether monitor(s) or projector(s) - after a fashion

Now the bad news: The potential combinations of hardware and software capabilities are huge.

  • occasional users should get adequate result by following the simple guidelines below
  • regular users might want to follow the more technical guidelines to try to optimise the displays somewhat

Be aware that projectors and monitors have two fundamental differences as external displays

  1. The majority of projectors, particularly those oriented to "home theatre" are still manufactured with 4:3 ratio display generators
  2. projectors have many fewer megapixels than laptops and medium to large monitors

Projectors for Presentations

Preliminary Configuration for Laptops

Projectors for Presentations

Projectors for Home Theatre Use

  • but have the capability to accept 16:9 ratio input, typically to support movies
    • will report same to the computer or laptop
    • will display 16:9 ratio input via "letterboxing", ie blanking out the top & bottom 100 or so rows of pixels and displaying image in reduced size
      • uses more than the native number of pixels and causes some reduction in image clarity
      • which is not significant for movies
      • but noticeable with still images (as in presentations)

Up-market projectors are now being manufactured with 16:9 ratio display generators

Getting Technical

Be aware that 3 ratios are in common use for displays - 4:3 and 16:9 for consumer grade devices plus business grade monitors & projectors that support the 16:10 wide-screen ratio

  • better quality 16:9 and 16:10 displays might present the complete, alternative image correctly via blanking some rows or columns of pixels with slight "letterboxing" or blank right & left margins
  • others will distort the image slightly to occupy the full visible area

All digital displays, whether LCD, LED, Plasma or DLP provide the sharpest image only at their native resolution

Linux & iOS support different resolutions on the two displays

  • low end hardware might not support this well, if at all
  • if the resolutions selected have differing vertical resolutions on the two displays, then the bottom panel used by many desktops will be absent on the shorter display
    • might need to compromise with either
      • identical vertical resolutions or
      • setting the primary display to the higher vertical resolution

Strictly for Geeks

For General Users

The idea of having both Windows and Linux installed on a computer and being able to select one at boot time appeals to many who are trying, or migrating to, Linux.

  • Windows own bootloader cannot boot Linux
    • a Linux bootloader must be used with dual-booting

The better known Linux distributions will set this up automatically, during installation to a single hard disk drive in the computer

  • It is likely to cease functioning following the next update of Windows and
    • restoring dual-boot requires Getting Technical

Keep at least one emergency boot medium handy. See Emergency_Boot - Including for Dual-Boot

Getting Technical

The above problem can usually be obviated by having additional hard disk(s) in the computer. This is not an expensive option, given current HDD prices.

USB Drive

Pros

  • easily added
  • no change to internal HDD

Cons

  • Linux relies on the absolute order of storage devices detected by the computer's firmware
    • plugging in (say) a uSB memory drive, may upset the booting
    • many bootloaders will identify partitions via UUID, to overcome this limitation

Internal HDD

  • ensures permanent order of drives

Installation

  • mainstream Linux will allow installation to== Strictly for Geeks == a second HDD


Selecting Boot Device

The selection of "drive" and hence OS is done at POST stage and depends on type of firmware in the computer

see Booting from Removable Media

Strictly for Geeks

  • the bootloader must also be installed to the second HDD, in this technique
    • can require "drilling down" the installation options


--Rpeters11:28, 24 August 2012 (EST) --

Bootloaders

Elilo

Only for computers having EFI firmware

Fairly simple and reliable

  • but requires a running Linux to generate its config file, in advance

GRUB Legacy (aka 0.97 )

A simple, reliable bootloader, although being phased out and no longer maintained. Use situations:

  • have only Linux on /ext(n) partitions and (maybe) Windows

GRUB (aka GRUB 2 )

GRUB 2 is now the most frequently used bootloader in Linux, but has many remaining issues. Some work-arounds:

"on-the-fly" Mode

GRUB 2 relies on a pre-defined config file /boot/grub(2)/grub.cfg. If this is not located, for any reason, GRUB 2 may boot to a grub> prompt. To boot from here use the following commands, substituting relevant drive and partition numbers:

grub> set root='hd0,gpt10'
grub> linux /boot/vmlinuz root=/dev/sda10
grub> initrd /boot/initrd
grub> bootBlockquote</blockquote

notes

  • drive numbers start from 0
  • must specify whether partitioned mbr or gpt
  • set root refers to location of partition containing /boot for the operating system to be booted
    • which will often also be the root file system for Linux
    • or merely the system partition for Win
    • partition numbers start from 1 (unlike in GRUB legacy)
  • this procedure is easiest if kernel & initrd have easily remembered names
    • either soft-link generic names or
    • press TAB to see possible names
  • ctrl-x or F10 may be pressed in lieu the "boot" command

The above procedure may be modified to cater for the situation where the menu is presented but the desired OS is not included or fails to boot. either

  • press e to edit a menu item or
  • press Esc to get to command line, then proceed as above.

Menu mode

See GRUB 2 downloadable manual or use "info grub2" to obtain details. Consistent themes amongst various documentation for GRUB 2 are that:

  • it is unreliable beyond the basics
  • OS-probe module is particularly so
  • not putting bootstrap in MBR (protective MBR in case of GPT) will

be problematic

Indeed, "info grub2" recommends avoid all automated installs & configs by distro. Instead, manually grub2-install then write a simple, static /boot/grub2/grub.cfg. See below for outline of this procedure.

As of Jan 2014 and following application of two patches to GRUB in openSUSE 13.1, its GRUB has been brought to ver 2.00-39.4.1. The automated process works well enough for most Linux plus Windows

It failed to find ArchLinux - which uses unusual names for kernels & initrd. Simple work-around for that is to add a 90_persistent section at the end of /boot/grub2/grub.cfg

### BEGIN /etc/grub.d/90_persistent ###

menuentry 'ArchLinux (<your descriptor>) { set root='hd<n>,gpt<n>' linux /boot/vmlinux-linux root=/dev/sd<x><n> initrd /boot/initramfs-linux.img }

### END /etc/grub.d/90_persistent ###

Essentially, the 90_persistent section gets copied verbatim during any subsequent manual or automated run of grub2-mkconfig. Note that this feature might be unique to openSUSE

The curly braces are essential and enclose GRUB2 commands.

This was for a HDD partitioned GPT. replace partition number with mbr<n> if applicable.

Multiple menuentries could be put in 90_persistent to cope with multiple Linuxes.

It's also possible to add an entry by pressing "c". In this mode only the 3 commands are input, followed by a fourth command 'boot'CTL-x at the Someone asked how to increase the font size in boot menu. The manual grub.cfg essentially does that by using whatever font will fit on the http://www.pcug.org.au/info/index.php?title=User:Rpeters&action=submit#on in GRUB legacy. press 'e' to edit an entry.

It's also possible to add an entry by pressing "c". In this mode only the 3 commands are input, followed by a fourth command 'boot'CTL-x at the Someone asked how to increase the font size in boot menu. The manual grub.cfg essentially does that by using whatever font will fit on the default screen resolution. Alternatively, one could try to make sense of the "loadfont" parameters in /etc/grub.d/00_header.

Wheras GRUB legacy uses similar syntax in command and menu mode, GRUB 2 uses somewhat different syntax in the two modes.

Rescue mode

An ISO image can be prepared, that is tailored to the OS on a specific computer. See above documentation for details on preparation of this image. It can be tested by "dd" to a USB memory device.

ReFind

Only for computers having EFI firmware

  • a CD can be downloaded, to test, if uncertain of firmware


default screen resolution. Alternatively, one could try to make sense of the "loadfont" parameters in /etc/grub.d/00_header.

Wheras GRUB legacy uses similar syntax in command and menu mode, GRUB 2 uses somewhat different syntax in the two modes.

Rescue mode

An ISO image can be prepared, that is tailored to the OS on a specific computer. See above documentation for details on preparation of this image. It can be tested by "dd" to a USB memory device.

ReFind

Only for computers having EFI firmware

  • a CD can be downloaded, to test, if uncertain of firmware


Syslinux

A proven bootloader, that continues being developed and maintained. Main limitations:

  • can't directly boot programs on other than its own partition, resulting in the need for work-arounds:
    • either chain load all but one OS or
    • put the boot code for each OS in a different sub-directory on the syslinux partition

DOS USB

For General Users

Purpose

The main requirement for a USB memory device that boots to DOS operating system arises when a BIOS/Firmware update of a computer is required.

It is advisable to use a new, or little used memory device, because any error in reading the BIOS/Firmware code during the actual update is likely to result in an unusable computer. USB "thumb" drives could be used. SD cards, which can be removed and stored in a secure place, might be more applicable.

Procedure

HP provide two techniques for producing DOS USB sticks. Both place utility software on a Windows computer, in order to generate the bootable stick - see "Getting Technical" below, if Windows is not available.

Instructions are provided on the HP support site for installing these utilities to Windows and creating bootable USB stick(s)

  • HP's generic utility HPUSBFW is not self contained but is more flexible.
    • it produces a mimimal DOS bootable USB stick containing only nnnDOS.SYS & COMMAND.COM
    • the user can then add relevant firmware and flashing utility
    • although it has an option for formatting to FAT 32 only FAT actually works
    • requires one of HP's "Softpacs" (firmware updates) for one of their recent commercial notebooks, from which to obtain the Windows utility program, plus
    • also requires FreeDOS (which can be downloaded at no cost in the form of fd11src.iso from http://www.freedos.org/download/)
  • those wanting to upgrade the firmware in a HP computer might find the second tool more suitable. HP provide some of their firmware updates as Windows dotEXE files, which:
    • install a utility program to Windows and then have facility called ROMPAQ for creating a bootable DOS on a USB device of not greater than 2 GB (FAT 16)
    • automatically adds the firmware and flashing utility to the USB stick
    • the naming convention for these files is SPnnnnn.exe

Note that in order to use the former, generic technique, general users would need to burn the above ISO image to CD. Those not familiar with ISO images should read http://www.pcug.org.au/info/index.php/Using_dotISO_Files

The step of burning the ISO image can be avoided - see "Getting Technical" below

Getting Techhnical

The techniques above contain the Windows version of Syslinux in the Windows software package and install the former as a bootloader on the USB device. The Syslinux bootloader can also be added to a USB memory device via Linux. Generic instructions are at the following site, from which (superceded versions of) the code are also available

http://goebelmeier.de/bootstick/

The following would need to be downloaded to obtain up-to-date software:

http://www.freedos.org/download/fd11src.iso

https://www.kernel.org/pub/linux/utils/boot/syslinux/6.xx/

Syslinux will already be installed on many Linux systems. However, Ubuntu and openSUSE might produce a USB stick that invokes graphics at boot time and it is undesirable to have superfluous code on a device that will be used for firmware upgrades.

FreeDOS supports FAT 32 and consequently the above procedure should also work on FAT 32 formatted sticks of > 2 GB capacity. PRINTING VIA NETWORK Linux & Mac OSX

  • Sharing printers between these environments should generally work, because both use same CUPS printing sub-system. CUPS is a newer printing sub-system, for which the key advantages include:
  • supports a wide range of printers dating back to before 1990
    • regardless of Operating System version
  • when printing via network, does not require any printer driver on the desktop/laptop PC
    • simplifies printing configuration for networked PC
    • facilitates printing from a laptop/netbook/tablet computer being used away from its home location
    • might permit printing from a computer where the administrator password (which may be required to install drivers) is unknown.

CUPS admin is accessed via the URL https://localhost:631 - which does not require active Internet connection alternatively an applet "Print Settings" may be used - if not installed, obtain from package "system-config-printer"

  • to share a printer via a server or another L/OSX machine see sharing CUPS
  • alternatively, to print to a printer directly attached to the wired or wireless network, set it up via Control Panel or CUPS admin
    • consider setting up one PC & printer this way as a contingency for failure of the print server.
  • to print via Samba to a printer attached to a Windows machine – use the Samba option via Ctl Panel or CUPS admin
    • this option requires printer driver available for and installed on PC/laptop

Windows 8 and later should automatically discover any network printers. If not, then manual configuration is possible via PRINTING VIA CUPS

Overview

CUPS is now the default print sub-system in most Operating Systems - Android, ChromeOS, MacOS, Linux and BSD.

Its use can enable printing over a LAN to be achieved relatively simply, often requiring:

  • no additional installation of software or "drivers"
  • only simple configuration changes

Consequently, it is widely deployed on many devices, such as Smartphones, Tablets, Media Centres & Macintoshes, as well as emerging "pocket computers" and might/could be on other Net/Notebooks, Laptops amd Desktop computers.

Applicability

CUPS Versioning Issues

  • CUPS <= 1.5.4 uses substantially different process from 1.6 and later
    • printing between machines mixing these versions is complicated. see below for guidelines, if unavoidable
    • as CUPS <= 1.5.4 is now used mainly in older OS, there is a case for upgrading the OS on such machines to a current release.
      • it is not feasible for General Users to upgrade the version of CUPS without upgrading the whole OS
  • CUPS 1.6 and later
  • Devices sold by Apple Inc can deploy proprietary extensions to CUPS. Consequently, some features may not work as expected, if the print job is sent to a printer that is controlled by another version of CUPS

As a general rule, the print server should have a version not earlier than the client Version 1.5 of CUPS is likely to produce a print job as a PDF file, whereas version 1.3 & 1.4 servers accept only PostScript files

  • check in the Home tab of CUPS for version number

Cups printers listing.png



Android & iOS

Typically these require an App to be downloaded from the relevant Store and connect with WiFi enabled printers.

Linux & OSX

Both use CUPS and can be configured as below.

For General Users

Firstly it is essential to ascertain which release of CUPS is in use, because versions 1.6 and later are largely incompatible with earlier releases. If uncertain, then on each machine involved in the network printing browse to:present capacity https://localhost:631/admin

the release number should be displayed in the title bar

CUPS mixed networks <= 1.5.4 plus 1.6 et seq

Network printing in this environment is complex. For a guide to procedures see: http://doc.opensuse.org/release-notes/x86_64/openSUSE/Leap/42.1/


CUPS <= 1.5.4

At the server end, browse to https://localhost:631/admin and activate radio buttons to:

  • Share printers connected to this system

At the workstation/client end, browse to https://localhost:631/admin and activate radio buttons to:

  • Use printers shared by others

CUPS 1.6 et seq

Later releases of CUPS impose greater network security. Several settings need to be changed to print via network:

  • activate cups-browsed service via system services (systemd) on both ends
  • set CUPS on server to share printers
  • set CUPS on client to use printers shared by others

end: Use "Control Panel" to set the following, if available (exact terminology will vary):

  • print via network
  • allow printing to local network only eg 192.168.0.0/24, for non-portable machines


Getting Techhnical

The above changes can also be implemented via a combination of editing config files and commands via CLI.

At the server end:

  1. ensure that /etc/cups/cups-browsed.conf includes the statements
  • BrowseRemoteProtocols DNSSD,CUPS
  • BrowseProtocols DNSSD CUPS
  • BrowseAllow 192.168.1.0/24 (or network address your LAN, if not this)
  1. Log to a terminal as root and execute:

# systemctl cups-browsed.service enable

# systemctl cups-browsed.service start

At the client end:

  1. ensure that /etc/cups/cups-browsed.conf includes the statements
  • BrowseRemoteProtocols DNSSD,CUPS
  • BrowseProtocols DNSSD CUPS
  • BrowseAllow 192.168.1.0/24 (or network address your LAN, if not this)
  1. Log to a terminal as root and execute:

# systemctl cups-browsed.service enable

# systemctl cups-browsed.service start

--Rod 09:05, 7 October 2013 (EST) -- Use Control panel to modify "system services" (exact terminology will vary) at both machines

  • enable and activate "cups-browsed"

At the server end, browse to https://localhost:631/admin and activate radio buttons to:

  • Share printers connected to this system
    • using protocols DNSSD & CUPS
  • restrict sharing to "Local Network"
    • could also be set as IP address eg 192.168.0.0/24
  • Allow remote administration

It is inadvisable to enable

  • Allow printing from the Internet

Save changes

It will then be necessary to use the Admin tab and select "manage printers" -> "Modify Printer", then modify each printer to be shared by ticking the box "Share this Printer"

Often the above steps suffice to make printers visible to a client machine. If not, then the following additional steps might be required, at the client end: Use "Control Panel" to set the following, if available (exact terminology will vary):

  • print via network
  • allow printing to local network only eg 192.168.0.0/24, for non-portable machines

Getting Techhnical

The above changes can also be implemented via a combination of editing config files and commands via CLI.

At the server end:

  1. ensure that /etc/cups/cups-browsed.conf includes the statements
  • BrowseRemoteProtocols DNSSD,CUPS
  • BrowseProtocols DNSSD CUPS
  • BrowseAllow 192.168.1.0/24 (or network address your LAN, if not this)
  1. Log to a terminal as root and execute:

# systemctl cups-browsed.service enable 2

# systemctl cups-browsed.service start

At the client end:

  1. ensure that /etc/cups/cups-browsed.conf includes the statements
  • BrowseRemoteProtocols DNSSD,CUPS2
  • BrowseProtocols DNSSD CUPS
  • BrowseAllow 192.168.1.0/24 (or network address your LAN, if not this)
  1. Log to a terminal as root and execute:

# systemctl cups-browsed.service enable

# systemctl cups-browsed.service start2


Situation

This guide assumes that CUPS is installed and generally functioning on both computers. The screen shots are from CUPS version 1.4.x/1.5.x. Versions 1.6 et seq have similar menus, but fewer options, with some changes having to be effected via computer's Control Panel instead.

Prerequisites

Definitions

  • "client computer" means the computer/device from which the print job will be generated
  • it must have CUPS client installed, which is the default condition for Max OSX and Linux
  • it need not have any printer drivers installed
    • indeed, it is less confusing if it does not
  • "server computer" means the computer controlling the printer. It can be:
  • for network printers, which are connected directly to a network, any computer on the network, having the relevant CUPS print drivers installed
    • network may be wired, WiFi or bluetooth
    • it is perfectly acceptable to configure several computers to use a particular network printer
  • for USB/parallel attached printers, the computer to which the printer is attached
    • it must have CUPS server installed, which is the default condition for Max OSX and Linux
    • the relevant printer must appear in its "Printers" list, and be working
    • the computet must be posered on, to enable printing, although logon won't usually be required .



Configuration

CUPS is configured via a web browser. Its URL on the local computer is:

http://localhost:631

Windows might not implement the short-cut "localhost". If not, then substitute the real IP address of the PC. Execute "IPCONFIG" from a Windows command line to find this address.

From the server computer, in the CUPS "administration" tab, ensure that "Share printers connected to this system" is checked:


Cups admin home.png


then click "Change Settings" button to save any changes, if necessary 2 Then click on the "Manage Printers" button in the same tab, select the relevant printer and pull down the "Administration" menu

  1. select "modify printer" then click the "continue" button to proceed to its second screen


Cups printer network.png


Cups printer configuration2.png 22

  1. ensure that "share this printer" is checked
  2. it will be helpful to make the "Location" the name of the computer controlling this printer
  3. click "continue" until the process completes

From the client computer, in the CUPS "administration" tab, ensure that "Show printers shared by other systems" 2is checked


Cups admin home.png


then click "Change Settings" button to save any changes, if necessary

Quicktest

Both computers must be connecting to the local LAN via wired or wireless interface. A quick test is to start a web browser and check that the Internet is accessible. Provided that network access is working:

  1. Start a text editor (kate, leafpad etc)
    • if the application is already running then it may need to be shutdown and restarted to recognize newly available printers
  2. Open a new document and type a few words
  3. From the file menu, select "Print"
  4. Select the relevant printer from the drop-down dialog
    • which should list all shared printers on the LAN
  5. click on the properties/settings button
  6. ensure that the key settings are suitable eg A4 paper size, portrait orientation
  7. click OK/print

Preliminary Troubleshooting

1. No printers listed in the print dialog

This problem frequently is the result of a firewall running on one or both computers. Network printing can work only if either:

  • firewalls on each computer allow port 631 through or
  • Ethernet zones are set as "trusted/internal" in the firewalls on each computer

Only printers powered up will appear in the list

  • confirm that the relevant printer is powered on
  • if it is attached to another PC via parallel or USB cable then that PC must also be powered on
    • (it is not necessary to log in to the sharing PC)

2. Print Job accepted but no output on Printer

This can be a result of many possible causes. Some simple checks:

  1. is CUPS known to be installed and working on the computer from which the text was created ?.
  2. Can it print to some printer at its home base ?
  3. does a similar print job created on the server computer give output on the printer ?

3. Print Job rejected by Server

  • possible permissions issue - check that:
    • printer is set as "share this printer" on the server
      • follow "modify this printer" dialog
  • possibly incompatible CUPS verions
    • as a general rule, the print server should have a version not earlier than the client
    • version 1.5 clients produce jobs as PDF files, that are likely to be rejected by 1.3/1.4 servers, which expect PostScript files
    • preferably upgrade the complete CUPS system on the server to version 1.5
      • a new version of the driver for each printer is required at the server end, to support PDF print jobs
      • if a binary driver, from the manufacturer, was previously used, check whether a driver is now included in CUPS or, failing that, whether an updated driver can be obtained from the manufacturer
    • following the upgrade, follow the "modify this printer" dialog for each printer and select the most recent PPD file.

If all else fails, then the CUPS Administration page has a button "View Error Log". Text towards the end of that file may give some clues.

---[[-Rpeters 18:02, 18 August 2012 (EST)]]

--Rod 09:05, 7 October 2013 (EST) --