Heat the butter and oil in a large frying pan and cook the onions until softened under a lid, stirring occasionally for about 7 minutes.
Put the linguine into a large pan of salted boiling water and cook according to instructions.
Add the garlic and capers to the onion and cook for a further minute.
Then add the cayenne pepper, tomato puree, white wine and seasoning.
Bring to the boil and then simmer for 3 – 4 minutes (until reduced by half).
Add the cream and salmon flakes and simmer for another 2 minutes.
Stir in half the dill and add to the drained linguine, combining well.
Serve garnished with the remaining dill and a salad.