Cook pasta according to package instructions.
While pasta is cooking, melt butter in a large deep skillet over medium-low heat. Add chopped onion, sprinkle with 1 tbsp sugar and saute, stirring occasionally for about 5 minutes, or until softened.
Add cabbage to skillet, stirring well to incorporate with onion, add 1-2 tablespoons of water and saute, stirring occasionally, until softened and start to caramelize (much more flavor) about 15-20 minutes (if cabbage becomes dry and start to burn, add more water).
Season with salt and pepper, add 1 more tbsp of sugar if needed. Add cooked pasta and stir well until pasta is heated through.
Serve hot.
If using bacon or sausage, fry them first, transfer to a plate, reserving fat from frying.