Home Wiki > SDB:YaST tricks
Sign up | Login

SDB:YaST tricks

tagline: From openSUSE

Branding the installation

For testing your style, use Wizard2.ycp file.

The style consist of a cascade style sheet (css) file ( with .qss extension ), and artwork & images you use in the stylesheet.

By default, YaST uses style.qss located in /usr/share/YaST2/theme/current/wizard . However for the installation the file installation.qss is used.

You can modify on runtime which style YaST uses.

Y2STYLE=installation.qss /usr/lib/YaST2/bin/y2base ./Wizard2.ycp qt

Use the Style Sheet Editor (Crtl-Shift-Alt-S) to modify the stylesheet while runtime.


branding only works with the Qt user interface backend. Currently the Gtk toolkit does not provide such capabilities. However, on the installation, Qt is always used.

Look at the installation.qss file, and you will figure out which sections of the installation screen are defined as classes and ids in the stylesheet.

To give each widget a theme, look at this tutorial or refer to the documentation.

YaST Hotkeys

The following hotkeys are available in the Qt/X11 GUI:

Print Screen 
Take and save a screenshot. May not be available when YaST is running under some desktop environments.
Shift-F4 
Enable/disable the color palette optimized for vision impaired users.
Shift-F7 
Enable/disable logging of debug messages.
Shift-F8 
Open a file dialog to save log files to a non-standard location.
Ctrl-Shift-Alt-D 
Send a DebugEvent. YaST modules can react on this by executing special debugging actions. Result depends on the specific YaST-module. (Since version yast2-ruby-bindings-3.2.2 this will start an interactive Ruby debugger session.)
Ctrl-Shift-Alt-M 
Start/Stop macro recorder.
Ctrl-Shift-Alt-P 
Replay macro.
Ctrl-Shift-Alt-S 
Show style sheet editor.
Ctrl-Shift-Alt-T 
Dump widget tree to the log file.
Ctrl-Alt-Shift-X 
Open a terminal window (xterm). Useful for VNC installations.
Ctrl-Shift-Alt-Y 
Show widget tree browser.

Invoking terminal from YaST

Sometimes it is useful, or even necessary, to get a text console in the middle of the installation.

There are three ways to do this

non-remote text mode 
consoles can be normally switched with Ctrl+F1, Ctrl+F2, etc.
non-remote graphical mode 
use Ctrl+Alt+F1, Ctrl+Alt+F2 etc., and Ctrl+Alt+F7 to return to the graphical installer.
remote graphical installation 
where hardware console switching is not available, use Ctrl+Alt+Shift+X to open a text-mode terminal within the graphical installer

There is a root shell open on the consoles (except those that show system messages), and basic shell commands are available.

Color theme for YaST in text mode

Set your favorite color theme

The default setting of the YaST ncurses UI is that the init routine detects the terminal type and automatically chooses the appropriate color theme.

Since openSUSE 10.3 it's possible to set the color theme manually in /etc/sysconfig/yast2. E.g. if you want a black/white YaST set Y2NCURSES_COLOR_THEME to "mono".

## Type: string(linux,xterm,rxvt,mono,braille)
## Default: ""
# Color theme for YaST ncurses UI
# xterm: blue-white-red
# linux: blue-white-yellow
# rxvt: black-yellow-red
# mono: white-black
# braille: for visually impaired
Y2NCURSES_COLOR_THEME = "mono"

Additionally the braille style can be enabled by setting the environment variable Y2_BRAILLE.

Create a customized color theme

If you want to change an existing color theme there is the possibility to get a style edit popup. With it you are able to configure the color settings for a certain terminal type. After creating the new style (a new header file NCstyle.<style>.h), libyui-ncurses has to be recompiled. Get the sources from libyui-ncurses on github and see libyui project for development hints.

First set the environment:

  export Y2NCDBG=1

Then set the color theme in /etc/sysconfig/yast2 accordingly to what you want to change (or use the appropriate terminal) and start YaST ncurses UI or a YaST module.

 yast			or
 yast <module>

Press keys:

 Ctrl d S    

The style edit popup will appear. Use keys below to configure your own textmode style:

 F1/F2    toggle styles    (default, info, warning, popup style)
 F3/F4    select widget
 F5       move pad mode    (move with cursor keys)
 F6       example dialog
 F7
 F8       restore style from /tmp/...
 F9       save style to /tmp/...
 F10      quit
 KEY_HOME/KEY_END         set foreground
 KEY_PPAGE/KEY_NPAGE      set background
 a ASCII chars
 b toggle bold
 n normal
 l blink
 s standout
 u underline
 r reverse
 d dim
 i invis
Save the style settings with F9

The header file is written to /tmp (e.g. NCstyle.xterm.h). Quit the edit dialog with F10.

Copy this file to your source directory and recompile libyui-ncurses with the new header file.

Using YaST in text mode

Starting

YaST in text mode is started if no X server is available on the system, it can be used remotely or is prefered by users who like simple look and key navigation more than graphical UI.

To start the YaST Control Center in text mode simply type 'yast' on command line e.g. in an xterm or in konsole. Make sure you are logged in as user root (like by typing 'su -').

   yast

Text-mode YaST uses the ncurses library to create the text user interface.

Navigation in text mode

The mostly used keys are TAB and Shift+TAB to move forward/backward in modules, the arrow keys to move up/down or left/right in lists, the shortcuts (press ALT+highlighted letter) and ENTER to execute the selected action or activate a menu item. For detailed description of the keys used for text mode navigation see: Navigation in Modules.

Also look at section Restriction of Key Combinations. Some keys or key combinations might be occupied by the window mangager. Because of that there are keys to use as a substitute, e.g. use Ctrl+F and Ctrl+B to move forward and backward or use ESC+letter for shortcuts.

Sorting of tables

Pressing Ctrl 'o' while the focus is on a table widget will open a popup containing the list of table headers. Choose the header of the column you want to use for sorting and press ENTER. The table contents will be sorted accordingly. From openSUSE 11.2 on it's possible to sort in reverse order by choosing same column again. The usage of the ncurses Package Selector is also improved, sorting by size works correctly now.

Other

There are some other key combinations mainly meant for testing and debugging:

Ctrl-\ 
Quit the application.
Ctrl-L 
Refresh screen.
Ctrl-D F1 
Show a list of advanced hotkeys.
Ctrl-D Shift-D 
Dump dialog to the log file as a screen shot.
Ctrl-D Shift-Y 
Open YDialogSpy to see the widget hierarchy.

Available only on a text console:

Shift-F1 
Show a list of advanced hotkeys.
Shift-F4 
Change color schema.

Articles

Links