% Frequently asked questions Frequently asked questions ========================== ### Why does my password work when logging in but not when trying to change it? Authentication works with Aalto password as a fallback these days, so you're most likely using that to log in. You can't, however, change your Niksula password without knowing your Niksula password. New users (starting from September 2012) do not have a Niksula password at all; use to change your Aalto password. ### My Scandinavian letters are broken There are too many possible issues to list. If you are using a program remotely on a Niksula machine via SSH, results will depend on at least the following things: 1. your client machine's environment 2. your client machine's terminal 3. your client machine's ssh client 4. sshd server configuration 5. server environment 6. shell program on the server 7. possible terminal program on the server (`screen`, `tmux`) 8. application To understand, you should read about [internationalization variables](http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html#tag_08_02). The way these environment variables propagate, and how the system is supposed to work is as follows: 1. your client machine has appropriate configuration, ie. non-ASCII characters display and input works correctly in both the terminal application and programs running in it. If it is a POSIX system, it has most likely set at least `LANG` (possibly other `LC_*` variables). 2. your ssh client is configured to send the environment variables `LANG` and `LC_*` to the server. In OpenSSH, this is done with the `SendEnv` option in `ssh_config`, and is the default on many operating systems that ship OpenSSH (notably not some versions of Mac OS X). PuTTY on Windows does not send these environment variables, but may be configured to do so. 3. ssh server is configured with `AcceptEnv` to accept these environment variables from the client, and it sets them for the user shell it launches. If it does not receive environment variables from the client, then the user shell inherits the ssh server's environment (in Niksula, all processes have a default value for `LANG` inherited from `init`) 4. system-wide and user shell configuration **do not touch** these variables. There is some bad advice on the interwebs about this; if you have put locale configuration in your Niksula shell initialization files you should remove them. 5. programs run in the shell inherit its environment normally, and thus know what character encoding to output, what time formats to display, etc. Complexity to this is added by the fact that some programs implement their own workarounds for issues (eg. `screen`'s `-U` option), and that programs running under `screen` or `tmux` might be attached to from different environments, and those programs' process environments will reflect the one they were started in. In Niksula, processes have `LANG=en_US.UTF-8` by default, because if the ssh client does not specify its environment, we have to guess, and even PuTTY today defaults to UTF-8 (since beta 0.63).