I have manually installed XFCE, and don’t quite like it. Also I have a problem which I think is related to the newly installed DE. When I downloaded Chrome from google and tried to install it by clicking on the .rpm, I always get an error “failed to install, query invalid”. I then right clicked the file and found the default install application is “apper installer”, which also had a gnome like GUI. If I choose “install/uninstall software” instead, I can install the .rpm normally. Besides, some application icons changed which I don’t know if it’s XFCE’s fault.
All in all, I’m now trying to remove XFCE. But “zypper rm xfce” would result in “can’t find pkg xfce”. In YAST, I couldn’t figure out how to “delete” XFCE. There is only “not install” option when right click on XFCE.
That is a bit to easy. Because the pattern will e.g. include X because that is needed for XCFE, but uninstalling it would criple all other DEs. So when any deendancy issues are shown, never say Yes!
IMHO the best thing is to simply not use that software. It is only a few MB sitting on disk and normaly not worth all the trouble to find out what can and what can not be deinstalled without problems. Then at the next big uograde (to openSUSE 13.1 or so) reinstall (and of course keep all personal data in /home and the like) and you will have a cleaning action automaticaly then.
Did you ever try this? Can you explain what it does? That means first and foremost, what does the shell expand this pattern into? And then maybe we would understand what the arguments are that are fed into zypper.
When you want to feed the string xfce4 into zypper, you have to prevent the shell from interpreting it. Thus:
zypper rm -u '*xfce4*'
The only thing that probably makes this functioning for you is the fact that there is no file in the working direrctory where you are at that moment, that fits into that pattern. Else you would have a strange effect. And better save then sorrow. Particularly while you do this as root and thus any eror of such kind can be fatal to your system.
Try to understand the following:
On 2013-05-18 12:26, zerum wrote:
> xfce4 = Select all packages with “xfce4” in the name.
Not exactly.
It first selects all filenames in the current directory that match the
shell expansion pattern you give, and then, the result is passed to the
zypper command.
This is a subtle but crucial difference between MSDOS and Linux.
Look:
cer@Telcontar:~/tmp/test> touch somethingxfce4
cer@Telcontar:~/tmp/test> su
Password:
Telcontar:/home/cer/tmp/test # zypper rm --dry-run *xfce4*
Loading repository data...
Reading installed packages...
'somethingxfce4' not found in package names. Trying capabilities.
No provider of 'somethingxfce4' found.
Resolving package dependencies...
Nothing to do.
Telcontar:/home/cer/tmp/test #
but...
Telcontar:/home/cer/tmp/test # rm somethingxfce4
Telcontar:/home/cer/tmp/test # zypper rm --dry-run *xfce4*
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW packages are going to be installed:
exo libxfce4panel-1_0-3 libxfce4ui libxfce4ui-branding-upstream
libxfce4util libxfcegui4
The following packages are going to be REMOVED:
exo-tools libexo-1-0 libgarcon-data libgarcon-lang libxfce4panel-1_0-4
libxfce4ui-1-0 libxfce4ui-branding-openSUSE libxfce4ui-lang
libxfce4ui-tools libxfce4util-lang libxfce4util6 libxfcegui4-4
libxfcegui4-data
libxfcegui4-lang libxfsm-4_6-0 orage-doc patterns-openSUSE-xfce
patterns-openSUSE-xfce_basis patterns-openSUSE-xfce_office
ristretto-lang xfce4-appfinder xfce4-appfinder-lang xfce4-dict
xfce4-dict-lang
.....
17 packages to downgrade, 6 new, 105 to remove, 17 to change vendor.
Overall download size: 7,9 MiB. After the operation, 32,9 MiB will be freed.
Continue? [y/n/p/?] (y): n^CTelcontar:/home/cer/tmp/test #
Do you see the difference?
–
Cheers / Saludos,
Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)
For the shell part of the interpretation that is OK, it will not change anything (except removing t he ’ ’ at the end of the interpretation. Then comes zypper and if zypper allows this you must findd in the zypper documentation (man zypper). But I see that zerum already toold and proved that zypper is able do do this.
Never forget with everything you type in the CLI, that you actualy type it into a shell (most use bash) and that the shell is doing a lot of interpretation first before it the asks the Kernel to start a program (zypper in this case) with it’s arguments. When you forget that, there will be all sorts of surprises. Normaly those surprises will be harmless, but when you are root …
As “hcvv” and “robin_listas” explained it works without quotes when there is nothing in $PWD that matches the search string. The save and correct way to use wildcards is to set them in quotes.
I hope you see that the fact that this “works” (a very vague term, often meaning: it does what I expect that it should do) because of the default action of the shell.
When the pattern matching results in no matches, the shell keeps the original token. There is an option to bash to use another action: when the result is zero matches, remove the original token, thus the result will be nill. Read it all in the man page of bash (though I admit that it is long and not allways easy to understand and certainly not easy to find subjects, but hen again, it isn’t a teaching document, it is a definition document).
In this case search for the paragraph called Expansion and then for the sub-paragraph Pattern Matching.