подключаешься через afs-клиента к afs-серверу, перед тобой оказывается рабочий стол ($home/имя_пользователя/desktop),
Значицца так. Рабочая станция видит _всю_ файловую систему /afs (с ограничениями, специфическими для используемого afs-сервера).
$HOME виден как, например, /afs/cell.name/user/v/vpupkin/. Это обычная директория в файловой системе. После авторизации пользователь работает с AFS так же, как с любой другой файловой системой. Например, после графического login локально отрабатывает $HOME/.xsession == /afs/cell.name/user/v/vpupkin/.xsession и выполняется все написанное там. Например, "export LANG=ru_RU.UTF-8 ; export LC_ALL=$LANG ; startkde"., KDE и другие программы выполняются _локально_, но читают свои настройки из $HOME/.kde == /afs/cell.name/user/v/vpupkin/.kde.
Точно так же, bash при старте читает настройки из $HOME/.bash{rc,_profile} == /afs/cell.name/user/v/vpupkin/.bash{rc,_profile}. Mozilla читает свои настройки из $HOME/.mozilla и т.д. Прикладные программы ищут свои настройки в $HOME. Им не надо знать, как именно смонтирована файловая система с $HOME.
Рабочая среда будет одна и та же на любой рабочей станции, с точностью до локально установленных программ.
но это рабочий стол-то удаленный ведь
Все программы, запускаемые пользователем, выполняются _локально_.
Кэш это хорошо, но это кэш, а не данные с профиля.
?
P.S. ACL для файлов на /afs и членство пользователя в группах тоже берутся с afs-сервера.