As opções -I {}
de xargs
farão com que passe uma linha inteira da entrada como um único argumento.
Isto é o que diz a manpage de xargs (1):
-I replace-str
Replace occurrences of replace-str in the initial-arguments with names read from standard input. Also, unquoted blanks do not terminate input items; instead the separator is the newline character. Implies -x and -L 1.
Você pode ver facilmente a diferença usando um script de impressão de argumentos em vez de gsettings
:
$ cat /tmp/a
#! /bin/sh
echo -n "$0"; for a; do echo -n " {$a}"; done; echo
$ chmod 755 /tmp/a
$ echo foo bar | xargs /tmp/a
/tmp/a {foo} {bar}
$ echo foo bar | xargs -I '{}' /tmp/a '{}'
/tmp/a {foo bar}
O que fazer a seguir depende do que você deseja alcançar com esses comandos.